安装‘RCurl’软件包时出现非零退出状态

6

我正在尝试在OS X 10.12.6上安装RCurl,但出现以下错误:

Error: package or namespace load failed for ‘RCurl’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/Users/nick/Library/R/3.4/library/RCurl/libs/RCurl.so':
  dlopen(/Users/nick/Library/R/3.4/library/RCurl/libs/RCurl.so, 6): Library not loaded: @rpath/libcurl.4.dylib
  Referenced from: /Users/nick/Library/R/3.4/library/RCurl/libs/RCurl.so
  Reason: image not found
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/Users/nick/Library/R/3.4/library/RCurl’

The downloaded source packages are in/private/var/folders/hx/9xx9fwq91t95k45dzlmzxfy40000gp/T/Rtmp14zSi1/downloaded_packages’
Warning message:
In install.packages("RCurl") :
  installation of package ‘RCurl’ had non-zero exit status

这个错误已经有一些讨论了,但是解决方案都是针对Linux的,我认为它们与OS X无关。我尝试安装homebrew版本的curl,但没有帮助。

有什么想法吗?我认为更多的调试信息会很有帮助,但我不确定还能提供什么。

谢谢! Nick

4个回答

2
如果有人在Ubuntu中遇到和我一样的问题,解决方法是首先在终端中运行以下命令:
sudo apt-get install libcurl4-gnutls-dev

然后在R中:
install.packages('RCurl')

1

如果有其他人遇到这个问题,我解决了它而不需要安装R的CRAN二进制文件。(我使用homebrew版本,因为它允许您使用更快的BLAS选项,利用并行性)。步骤如下:

  1. Make sure that R doesn't find the homebrew or anaconda versions of curl-config (this will only affect the current R session)

    PATH=/usr/bin/:$PATH
    
  2. Download and install latest version of RCurl from http://www.omegahat.net/RCurl/ (replace <RCURLVERSION> with the current latest version)

    wget http://www.omegahat.net/RCurl/RCurl_<RCURLVERSION>.tar.gz
    R CMD INSTALL RCurl_<RCURLVERSION>.tar.gz
    

1

看起来它期望在你的@rpath中找到libcurl.4.dylib

我认为其他人也遇到了相同的问题,所以解决方案应该在这里某处:


谢谢!我可以确认,按照第一个链接的步骤解决了问题。我取消了R的链接并删除了它,然后从https://cran.r-project.org/bin/macosx/重新安装了最新版本。 - Nick Malleson

0
我尝试了上述所有方法,但都失败了。我使用的是 macOS Sonoma (beta 5) 和 brew,请参见下文。
最简单的解决方案是直接从 CRAN 下载打包的存档文件并进行安装(我是通过 RStudio 完成的)。然后我就可以安装其他我实际需要的包(对我来说,RCurl 只是达到目的的手段而已)。
$ brew config
HOMEBREW_VERSION: 4.1.5
ORIGIN: https://github.com/Homebrew/brew
HEAD: b8b46501e4caa1cad75b30627c123127ab09a6a7
Last commit: 3 days ago
Core tap JSON: 17 Aug 02:05 UTC
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.QHQiUVr7Uo/org.xquartz:0
HOMEBREW_MAKE_JOBS: 10
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: 10-core 64-bit westmere
Clang: 15.0.0 build 1500
Git: 2.41.0 => /usr/local/bin/git
Curl: 8.1.2 => /usr/bin/curl
macOS: 14.0-x86_64
CLT: 15.0.0.0.1.1691205695
Xcode: N/A
Rosetta 2: true

顺便说一句:确保使用正确的架构。如果您激活了 Rosetta 2,请选择 RCurlINTEL 版本。

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