我使用R版本3.4.1从Ubuntu 16运行。我安装了dplyr
并且可以在从RStudio运行或从终端sudo到R时加载它。但是,如果我在没有root权限的情况下运行R,由于以下错误,我无法加载dplyr:
Error: package or namespace load failed for ‘dplyr’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '<user-directory>/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/libs/Rcpp.so':
<user-directory>/anaconda3/lib/R/bin/exec/../../lib/../.././libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by <user-directory>/R/x86_64-pc-linux-gnu-library/3.4/Rcpp/libs/Rcpp.so)
(上面我已将/home/MY_USER_NAME
目录替换为<user-directory>
以进行一些温和的匿名化。我看过一些可能与之相关的帖子,但这些补救措施都没有对我有用。
我很好奇这个修补程序是否像更改某些文件的权限或所有权一样简单,或者问题是GLIBCXX_3.4.20
的搜索是否定向到我的anaconda3
目录(什么时候不是root?!)?
提前感谢您的任何见解!
编辑:这可能是我在安装R时更基础的问题。通常我在RStudio中使用install.packages(...)
安装软件包,但有时这会导致错误以root身份输入R后,通过安装install.packages(...)
来克服。 dplyr
和Rcpp
都属于这种情况。即,我刚刚重新安装的版本已经完成了
> sudo R
> install.packages( 'Rcpp', dependencies = T )
> install.packages( 'dplyr', dependencies = T )
答案 0 :(得分:1)
请说明 您安装这些软件包的方式,使您的问题变得有用且易于理解。
他们来自Ubuntu,即sudo apt-get install r-cran-dplyr
将获得一个工作版本,并且来自CRAN即install.r dplyr
也将(这里使用我的install.r
来自littler,使用其他包装来{{1闲暇时。)
有时你的底层库会改变,所以我的第一个赌注是简单地重新安装Rcpp然后重新安装dplyr。
您对install.packages()
的引用表明您是从源代码安装的,但是/home
。这是个坏主意。网站上有很多其他问题可以解答何时/何地/如何root
可能(或可能不是)更好,所以我不需要重复这个问题。
编辑:回复您的修改:
apt-get
。您想要写入sudo R
,为此您可以1.a)将自己添加到拥有该目录的组中,或者1.b)如果只是您在该计算机上,则将其归属于您的组。/usr/local/lib/R/site-library
,但您甚至不需要install.packages(c("Rcpp", "dplyr"))
取决于dplyr
。Rcpp
并同时sudo R CMD REMOVE Rcpp
,然后执行dplyr