Mac系统R语言升级后无法加载包报错 package or namespace load failed in dyn.load
原文链接:http://tecdat.cn/?p=16691
问题重现:
我需要安装R软件包stochvol,该软件包 仅适用于3.6.0版的R。因此,我安装了R(3.6.0
版本),并使用打开它 RStudio
。但是现在 ,即使我成功 使用来 安装软件包,也无法加载任何库 。具体来说,我需要加载的库是stochvol ,Rcpp和 caret。我尝试重新安装 R, 但仍然无法正常工作。
软件:R
环境:Mac osx
我收到的错误消息是
install.packages("package_name")
caretforecastggplot2Error: package or namespace load failed for ‘forecast’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/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): Symbol not found: ___cxa_uncaught_exceptions Referenced from: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libc++.1.dylib Expected in: /usr/lib/libc++abi.dylib in /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libc++.1.dylib
加载后报错:
使用Rcpp
成功安装软件包 后 install.packages("Rcpp")
,尝试时我仍然收到上面的消息 library(Rcpp)
。(在升级之前,一切正常,除了我无法安装 quadprog
,所以也无法安装 forecast
软件包)。
解决方案:
我了解到,升级到的新版本后,您需要重新编译旧软件包 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")
报错历史截图以及最后成功加载的截图。