R install.packages返回“创建锁目录失败”

628mspwn  于 12个月前  发布在  其他
关注(0)|答案(6)|浏览(210)

下载Rcpp软件包时出现此错误:

> install.packages("Rcpp", dependencies=TRUE)
Installing package(s) into ‘/home/me/src/Rlibs’ (as ‘lib’ is unspecified)
trying URL 'http://cran.us.r-project.org/src/contrib/Rcpp_0.10.2.tar.gz'
Content type 'application/x-gzip' length 2380089 bytes (2.3 Mb)
...
Warning in dir.create(lockdir, recursive = TRUE) :
  cannot create dir '/home', reason 'Permission denied'
ERROR: failed to create lock directory ‘/home/me/src/Rlibs/00LOCK-Rcpp’
...

字符串
由于我的机器在一个计算机集群上,我在不同的节点上尝试过,我很小心地删除了下载在/tmp中的临时文件。奇怪的是,我有权限在/home/me/src/Rlibs/中写入。所以我的问题是:
1.为什么R只需要/home/me/中的写权限,而它却希望在/home中拥有写权限呢?
1.如何修复错误?

> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-redhat-linux-gnu (64-bit)
locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=C                 LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
 [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base
loaded via a namespace (and not attached):
[1] tools_2.15.2

ulydmbyx

ulydmbyx1#

在NFS文件系统上,有时候你并不清楚哪些东西需要关闭。
避免这种情况的最好方法是在命令行中使用--no-lock参数,即:

R CMD INSTALL --no-lock <pkg>

字符串
在R中,您可以使用以下命令在命令中执行此操作:

install.packages("Rcpp", dependencies = TRUE, INSTALL_opts = '--no-lock')

5cnsuln7

5cnsuln72#

当你的最后一个软件包安装异常中断时,就会发生这种情况。要解决这个问题,你应该删除锁定的文件。例如在R控制台中执行以下命令:

unlink("/home/me/src/Rlibs/00LOCK-Rcpp", recursive = TRUE)

字符串
希望这有帮助!

ctehm74n

ctehm74n3#

避免此问题的最简单方法是在安装任何软件包之前运行下面的行

options("install.lock"=FALSE)

字符串
然后尝试install.packages(“name_of_package”)来安装软件包。00错误不会出现。

wbrvyc0a

wbrvyc0a4#

当你升级到R的主要版本时也会发生这种情况。一些主要的升级需要你重新构建你的软件包,例如,R 4.0。在我的情况下,我使用Homebrew,brew install R安装了R并维护了很长一段时间,但是当我升级到4时,我不得不再次构建软件包,遇到了这个问题。
要解决这个问题,你需要确保Homebrew删除了你旧版本R安装的遗留部分。在默认设置中,你可以在这里找到它们,/usr/local/lib/R。除了R的内部其他部分,我还有3.53.6的示例。你可以删除那里的所有内容,然后重新安装R,一切都应该正常。或者只是删除旧版本的R,并清空4.0。我建议做一个干净的安装虽然。
所以,如果你正在使用Homebrew维护你的R,并遇到了这个问题,这里是你如何解决它:

brew uninstall R
rm -r /usr/local/lib/R
brew install R

字符串

9udxz4iz

9udxz4iz5#

这个解决方案对我有效:

首先安装这个

options("install.lock"=FALSE)

字符串
包安装

install.packages("name_of_package")

jexiocij

jexiocij6#

我在运行Windows 7时遇到了类似的问题:
错误:无法锁定目录“D:\Program Files\R\R-3.6.2\library”以进行修改。
我在R控制台中使用以下命令解决了这个问题:
unlink("D:\\Program Files\\R\\R-3.6.2\\library/00LOCK", recursive = TRUE)
希望能帮助Windows用户...

相关问题