[R install.packages返回“无法创建锁目录”(R install.packages

2019-07-18 08:19发布

我得到下载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写权,而只需要在/ home /我写权限/?
  2. 如何解决这个错误吗?

> 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

Answer 1:

要避免这种情况,最好的办法是使用“--no锁”的说法在命令行上,例如

R CMD INSTALL --no-lock <pkg>

在NFS文件系统有时并不明显,你有什么事情要关闭。 从r中,您可以使用您的命令中做到这一点:

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



Answer 2:

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

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

希望这可以帮助!



文章来源: R install.packages returns “failed to create lock directory”
标签: r package