在Mac上将R升级到3.6.0后无法加载库

时间:2019-04-30 22:51:30

标签: r macos rstudio

我需要安装R软件包quadprog,该软件包仅适用于3.6.0版的R。因此,我安装了R(3.6.0版),然后使用RStudio打开它。但是,即使我使用install.packages("package_name")成功安装了软件包后,我仍然无法加载。具体来说,我需要加载的库是caretforecastggplot2。我尝试重新安装 R ,但仍然无法正常工作。我收到的错误消息是

  

错误:在“预测”中,程序包或名称空间加载失败   dyn.load(文件,DLLpath = DLLpath,...):无法加载共享对象   '/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/libs/Rcpp.so':   dlopen(/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/libs/Rcpp.so,   6):找不到符号:___cxa_uncaught_exceptions引用自:   /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libc++.1.dylib   预期存在于:/usr/lib/libc++abi.dylib中   /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libc ++。1.dylib

使用Rcpp成功安装install.packages("Rcpp")软件包后,尝试library(Rcpp)时仍收到上述消息。因此,我在这里完全迷迷糊糊...(在升级之前,一切正常,除非我无法安装quadprog,所以也无法安装forecast软件包)。谁能帮我解决这个问题?

请参见下面的图片,其中显示软件包存储在R.的相同目录路径中

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:5)

遇到类似的问题,重新启动R会话并从源代码安装Rcpp

install.packages("Rcpp", type="source")

然后加载库

library(Rcpp)

如果仍然出现错误,请重新启动R会话,然后尝试再次加载库。

答案 1 :(得分:0)

我了解到,升级到R的较新版本后,您需要重新编译旧软件包。在R终端上运行以下行

update.packages(ask=FALSE,
                checkBuilt=TRUE,
                repos="https://cloud.r-project.org")

然后

install.packages(c("Rcpp", "caret", "forecast", "ggplot2", "quadprog"), 
                 dependencies=TRUE,
                 repos="https://cloud.r-project.org")

答案 2 :(得分:0)

我最终得到了,然后谷歌搜索了确切的错误代码:)。我通过安装来自CRAN的R的最新版本以及Rstudio的最新版本来修复它。我认为发生的是,当我更新某些软件包R和Rstudio时,它们不同步。