r - 使用 home-brew 和 r 4.1 在 Big Sur 上安装 rcurl 失败
问题描述
我正在尝试RCurl
使用 Big Sur 和 R 4.1 在我的 macOS 上安装。请参阅下面的输出 - 它不起作用。我确实需要它,因为我需要它GenomeInfDB
。
有谁知道如何用“命名空间”解决这个问题RCurl
?
非常感谢您的建议。
谢谢
桑德
install.packages("RCurl")
Installing package into ‘/opt/homebrew/lib/R/4.1/site-library’
(as ‘lib’ is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/RCurl_1.98-1.3.tar.gz'
Content type 'application/x-gzip' length 728630 bytes (711 KB)
==================================================
downloaded 711 KB
* installing *source* package ‘RCurl’ ...
** package ‘RCurl’ successfully unpacked and MD5 sums checked
** using staged installation
checking for curl-config... /Users/slaan3/anaconda3/bin/curl-config
checking for gcc... gcc
[我删除了一点,因为它不适合字符数......]
ld: warning: ignoring file /Users/slaan3/anaconda3/lib/libcrypto.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64ld: warning: ignoring file /Users/slaan3/anaconda3/lib/libcurl.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
ld: warning: ignoring file /Users/slaan3/anaconda3/lib/libssl.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
ld: warning: ignoring file /Users/slaan3/anaconda3/lib/libgssapi_krb5.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
ld: warning: ignoring file /Users/slaan3/anaconda3/lib/libxml2.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
ld: warning: ignoring file /Users/slaan3/anaconda3/lib/libicui18n.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
ld: warning: ignoring file /Users/slaan3/anaconda3/lib/libiconv.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
ld: warning: ignoring file /Users/slaan3/anaconda3/lib/libz.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
ld: warning: ignoring file /Users/slaan3/anaconda3/lib/libicudata.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
ld: warning: ignoring file /Users/slaan3/anaconda3/lib/libicuuc.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
installing to /opt/homebrew/lib/R/4.1/site-library/00LOCK-RCurl/00new/RCurl/libs
** R
** data
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
Error: package or namespace load failed for ‘RCurl’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/opt/homebrew/lib/R/4.1/site-library/00LOCK-RCurl/00new/RCurl/libs/RCurl.so':
dlopen(/opt/homebrew/lib/R/4.1/site-library/00LOCK-RCurl/00new/RCurl/libs/RCurl.so, 6): Symbol not found: _curl_easy_cleanup
Referenced from: /opt/homebrew/lib/R/4.1/site-library/00LOCK-RCurl/00new/RCurl/libs/RCurl.so
Expected in: flat namespace
in /opt/homebrew/lib/R/4.1/site-library/00LOCK-RCurl/00new/RCurl/libs/RCurl.so
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/opt/homebrew/lib/R/4.1/site-library/RCurl’
解决方案
我在 macOS 上开发 R 包,强烈建议不要在 R 中的系统中激活 conda PATH
。这会导致 R 选择 conda gcc
,这与在 macOS 上构建许多 R 包不兼容。查看R for macOS 开发人员指南,其中详细解释了这一点。或者,您可以PATH
使用Renviron
文件在 R 中专门设置,这将有助于防止编译器与 conda 混淆gcc
。
此外,从源代码构建包时,建议在 macOS 上使用CRAN R 二进制安装。不推荐通过 conda 获得的 R 版本用于在 macOS 上从源代码构建包。
这可以通过 Homebrew 安装,使用:
brew install --cask r
推荐阅读
- try-catch - “catch”后面的部分叫什么?
- javascript - 无法根据数字范围限制正则表达式
- bash - 在 Vim 中运行 bashscript/Unix 行
- python - 使用 NULL 值评估元组的字符串表示
- node.js - 我无法从 Nodejs 机器人文件中的 MySQL 数据库中获取数据
- javascript - HTML5 音频:对音频同时使用 oncanplay 和 oncanplaythrough 事件
- php - 如果数组具有相同的键,如何从数组中汇总值?
- r - R - 如何将时间戳扩展到数据框中的每个 id?
- javascript - onclick window.location.href 输入多个值
- go - 创建具有类型接口的地图以通过 URL 参数接受任意数据类型