R升级到MacOS Sierra后无法加载Internet例程

时间:2017-08-30 22:34:02

标签: r macos macos-sierra xquartz

在将我的mac升级到10.12.6(Sierra)后运行R时,R无法再加载库或访问互联网上的任何内容:

> install.packages("devtools")
--- Please select a CRAN mirror for use in this session ---
Warning: failed to download mirrors file (internet routines cannot be loaded); using local file '/anaconda/lib/R/doc/CRAN_mirrors.csv'

[...]

Warning: unable to access index for repository 
https://cran.cnr.berkeley.edu/src/contrib:

internet routines cannot be loaded
Warning messages:
1: In download.file(url, destfile = f, quiet = TRUE) : 
unable to load shared object '/anaconda/lib/R/modules//internet.so':
dlopen(/anaconda/lib/R/modules//internet.so, 6): Library not loaded: @rpath/libssh2.1.dylib
Referenced from: /anaconda/lib/R/modules//internet.so
Reason: image not found
2: package ‘devtools’ is not available (for R version 3.4.1) 

类似地:

> source("https://bioconductor.org/biocLite.R")
Error in file(filename, "r", encoding = encoding) : 
  internet routines cannot be loaded
In addition: Warning message:
In file(filename, "r", encoding = encoding) :
  unable to load shared object '/anaconda/lib/R/modules//internet.so':
  dlopen(/anaconda/lib/R/modules//internet.so, 6): Library not loaded: @rpath/libssh2.1.dylib
  Referenced from: /anaconda/lib/R/modules//internet.so
  Reason: image not found

当我从终端运行R并且从RStudio运行R时会发生这种情况(虽然RStudio只给我错误,而不是警告,然后仍然失败)。

过去,我发现其他人的问题模糊不清;一个常见的解决方案是重新安装XQuartz,我已经完成了,但没有帮助。

另一个常见的解决方案是更新LD_LIBRARY_PATH。但是,' libssh2.1.dylib'似乎不存在:'找到libssh2.1.dylib'没有回报。我确实在/Applications/Xcode.app/Contents/Developer/usr/lib/libssh2.dylib中找到了libssh2.dylib,这可能是同样的事情,但我认为R并没有找到它。

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:3)

编辑:我找到了一个简单的解决方案。只需下载.tar文件并使用命令' R CMD INSTALL mcmcse_1.3-2.tar',例如,在您的终端中,从保存.tar文件的目录。

我认为install.packages('package_name')在macOS Sierra上的R中不起作用(安装了包管理器Anaconda)可能是因为Anaconda移动了R的路径。

在macOS Sierra 10.12.6上使用带有R 3.4.1的Anaconda 4.2.0时,只是回复标记相同的问题。我最初在/ usr / bin / R中运行R 3.4.0,但是在安装Anaconda 4.2.0之后,R已经在/ Users / [username] / anaconda / bin / R中成为R 3.4.1。

Warning: unable to access index for repository https://www.stats.bris.ac.uk/R/src/contrib:
  internet routines cannot be loaded
Warning messages:
1: In download.file(url, destfile = f, quiet = TRUE) :
  unable to load shared object '/Users/michaelfaulknerlocal/anaconda/lib/R/modules//internet.so':
  dlopen(/Users/michaelfaulknerlocal/anaconda/lib/R/modules//internet.so, 6): Library not loaded: @rpath/libssh2.1.dylib
  Referenced from: /Users/michaelfaulknerlocal/anaconda/lib/R/modules//internet.so
  Reason: image not found
2: package ‘mcmcse’ is not available (for R version 3.4.1)

答案 1 :(得分:0)

据我所知,这是Anaconda2-4.4.0-MacOSX-x86_64.pkg中的一个错误我在/,/ Applications /和/ Users / [me]中有一个anaconda /目录/:我删除了所有这些,并将Anaconda PATH更改删除为.bash_profile。 R然后恢复到/ usr / local / bin / R,它没有上面报告的互联网连接问题。然后我从头开始重新安装Anaconda,然后从Anaconda-Navigator安装了RStudio。 '哪个R'现在指向/ Users / [me] / anaconda / bin / R(PATH在安装时再次更改),并且存在互联网连接问题。直接运行/ usr / local / bin / R,即使安装了Anaconda,也没有问题。

我已将错误归档为https://github.com/Anaconda-Platform/support/issues/137,但现在至少可以使用/ usr / local / bin / R来运行R。