繁体   English   中英

R:在 macOS 10.15 上升级到 R 4.0 后,无法从源安装 R 包

[英]R: Unable to install R packages from source after upgrading to R 4.0 on macOS 10.15

我刚刚升级到 R 4.0 并尝试重新安装一些软件包。 但是,我现在似乎无法从源代码安装。

例如,当运行install.packages("rlang")并在询问Do you want to install from sources the package which needs compilation? (Yes/no/cancel)时回答yes Do you want to install from sources the package which needs compilation? (Yes/no/cancel) ,我收到以下错误消息:

In file included from capture.c:1:
/Library/Frameworks/R.framework/Resources/include/Rinternals.h:39:11: fatal error: 'stdio.h' file
      not found
# include <stdio.h>
          ^~~~~~~~~
1 error generated.
make: *** [capture.o] Error 1
ERROR: compilation failed for package ‘rlang’

有人知道如何解决这个问题吗? 我知道我可以只安装二进制版本,但对于未来的 package 安装来说,这似乎仍然是一个烦人的问题,如果不修复的话。

非常感谢!


如果有帮助,这里是sessionInfo()中的 output :

R version 4.0.0 (2020-04-24)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Catalina 10.15.4

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_4.0.0

我还在rlang GitHub 上发布了这个问题,其中一位开发人员建议了以下修复:

  1. 创建~/.R/Makevars文件(如果不存在)
  2. 将以下行添加到~/.R/Makevars
CPPFLAGS += -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include

这似乎为我解决了这个问题。 请注意,此修复仅适用于 macOS 10.15 (Catalina)

有关适用于 macOS 的 R 工具链的更多有用信息,请参见此处: https://thecoatlessprofessor.com/programming/cpp/r-compiler-tools-for-rcpp-on-macos/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM