我从 Ubuntu 16 运行,使用 R 版本 3.4.1。我有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?!)?
预先感谢您的任何见解!
Edit:这可能是我安装 R 时出现的一个更基础的问题。我经常使用以下命令安装软件包install.packages(...)
在 RStudio 中,但有时这会导致错误,可以通过安装来克服install.packages(...)
以 root 身份进入 R 后。两者都是这种情况dplyr
and Rcpp
。即,我刚刚重新安装的版本是这样完成的
> sudo R
> install.packages( 'Rcpp', dependencies = T )
> install.packages( 'dplyr', dependencies = T )
请说明您的问题有用且易于理解how你安装了这些软件包。
它们都来自 Ubuntu iesudo apt-get install r-cran-dplyr
将获得一个工作版本,并且来自 CRAN ieinstall.r dplyr
也会(这里使用我的install.r
从小处开始,使用其他包装纸install.packages()
闲暇时)。
有时你的底层库会发生变化,所以我的第一个选择是简单地重新安装 Rcpp,然后重新安装 dplyr。
您参考的/home
建议您从源安装,但作为root
。这是一个坏主意。网站上还回答了许多其他有关何时/何地/如何的问题apt-get
可能(或可能不是)更好,所以我不需要重复这一点。
Edit:回应您的编辑:
- 从来没有做过
sudo R
。你想写信给/usr/local/lib/R/site-library
为此,您可以 1.a) 将自己添加到拥有该目录的组中,或者 1.b) 如果该计算机上只有您,则将其归您的组所有。
- 你可以这样做
install.packages(c("Rcpp", "dplyr"))
但你甚至不需要那个dplyr
依赖于取决于Rcpp
.
- 为什么不使用预构建包?删除你拥有的东西(即
sudo R CMD REMOVE Rcpp
和同上dplyr
, 然后做sudo apt-get install r-cran-dplyr
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)