dyld: 库未加载:@rpath/libreadline.6.2.dylib 和 @rpath/libintl.8.dylib。

5

我刚刚安装了OSX的新更新,因为它一直弹出。当然,它破坏了某些东西。我现在无法访问我的R。

我花了很长时间才把我的环境设置好。我已经使用Conda安装了所有的R包。

我该如何解决这个问题?每当我进行任何更新或轻微调整时,dyld库为什么总是会出问题呢?这真的会破坏工作流程...

Joshs-MBP:~ mu$ which R
/Users/mu/anaconda/bin/R
Joshs-MBP:~ mu$ R
dyld: Library not loaded: @rpath/libreadline.6.2.dylib
  Referenced from: /Users/mu/anaconda/lib/R/lib/libR.dylib
  Reason: image not found
Abort trap: 6
```

我正在运行OSX Sierra 10.12.6操作系统,当它开始更新Xcode时(我当时以为只是在更新iTunes),系统立即崩溃了。

Joshs-MBP:~ mu$ conda info
Current conda install:

               platform : osx-64
          conda version : 4.3.29
       conda is private : False
      conda-env version : 4.3.29
    conda-build version : not installed
         python version : 3.6.3.final.0
       requests version : 2.18.4
       root environment : /Users/mu/anaconda  (writable)
    default environment : /Users/mu/anaconda
       envs directories : /Users/mu/anaconda/envs
                          /Users/mu/.conda/envs
          package cache : /Users/mu/anaconda/pkgs
                          /Users/mu/.conda/pkgs
           channel URLs : https://repo.continuum.io/pkgs/main/osx-64
                          https://repo.continuum.io/pkgs/main/noarch
                          https://repo.continuum.io/pkgs/free/osx-64
                          https://repo.continuum.io/pkgs/free/noarch
                          https://repo.continuum.io/pkgs/r/osx-64
                          https://repo.continuum.io/pkgs/r/noarch
                          https://repo.continuum.io/pkgs/pro/osx-64
                          https://repo.continuum.io/pkgs/pro/noarch
            config file : None
             netrc file : None
           offline mode : False
             user-agent : conda/4.3.29 requests/2.18.4 CPython/3.6.3 Darwin/16.7.0 OSX/10.12.6
                UID:GID : 501:20

我尝试了https://github.com/ContinuumIO/anaconda-issues/issues/6312,但现在出现了一个不同但类似的错误。
Joshs-MBP:~ mu$ R
dyld: Library not loaded: @rpath/libintl.8.dylib
  Referenced from: /Users/mu/anaconda/lib/R/lib/libR.dylib
  Reason: image not found
Abort trap: 6
3个回答

2

1
很抱歉,我遇到了同样的问题,mingwandroid 建议的代码在我的电脑上(MacBook Pro,macOS High Sierra 10.13.14)无法解决。有人知道还能做什么吗?我的错误信息是:“dyld: Library not loaded: @rpath/libreadline.6.2.dylib Referenced from: /anaconda3/lib/R/lib/libR.dylib Reason: image not found” - msimmer92
2
最终我创建了一系列脚本,使得我的 RPython 能够在同一个环境中兼容,这也是所有混乱的根源。https://github.com/jolespin/install_main_environment - O.rka
1
重新安装是唯一一种始终有效的方法。我强烈建议编写一个脚本来自动化这个过程。在我找到这个方法之前,我经历了一周的挫折。此外,在克隆环境中逐个测试模块的安装将为您节省一些麻烦。 - O.rka
你有那个脚本吗?因为我看了你在Github上的install_main_environment脚本,但是我不确定哪一个应该先执行等等。我用conda和homebrew重新安装了R,但还是没成功。也许我需要先卸载R,然后再重新安装? - msimmer92
1
抱歉如果之前表述不够清晰。我会下载整个代码库,分别打开 R 安装和 Python 安装文件,并注释掉你不需要的部分。然后运行主安装脚本。 - O.rka

1

已安装最新的工作版本AnacondaR

尝试运行conda update -c rdonnellyr -c main --all,但没有成功。

按照https://github.com/conda/conda/issues/6183#issuecomment-830132824的方法,将重复的anaconda3/lib/libreadline.8.1.dylib文件重命名为anaconda3/lib/libreadline.6.2.dylib。错误信息改变并开始抱怨另一个库,对我来说是libicuuc.54.dylib,然后是libicui18n.54.dylib。对它们进行了类似的操作,成功地使R在jupyter笔记本中工作。

然而,上述解决方法无法使rpy2运行,因为dlopen会检查文件中特定于版本的符号,并且不能简单地通过重命名文件来欺骗它。

这可能是“混合通道问题”。按照https://conda-forge.org/docs/user/tipsandtricks.html的方法,在干净的conda环境中从conda-forge通道显式安装r-essentials解决了问题:

conda create --name r-tutorial pandas
conda activate r-tutorial
conda install -c conda-forge r-essentials
pip install rpy2

1

另一个选项是更新 r-base

$ conda update -n base r-base

这对我有用


在我的情况下,R 无法在新创建的 conda 环境中链接库,而这个方法对我在 Mac(M1 芯片)上有效。 - emre

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接