R install.packages returns "nie udało się utworzyć katalogu blokady"

Pojawia się ten błąd podczas pobierania pakietu 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’
...

Ponieważ mój komputer znajduje się na klastrze komputerowym, próbowałem go na różnych węzłach i byłem ostrożny, aby usunąć pliki tymczasowe pobrane w /tmp. Dziwne jest to, że mam prawa pisać w /home / me/src/Rlibs/. Więc moje pytania to:

  1. Dlaczego R chce mieć prawa do pisania w / home, podczas gdy potrzebuje tylko praw do pisania w / home / me/?
  2. Jak mogę naprawić błąd?

> 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
 32
Author: Brian Diggs, 2013-01-17

2 answers

Najlepszym sposobem uniknięcia tego jest użycie argumentu '--no-lock' w wierszu poleceń, np.

R CMD INSTALL --no-lock <pkg>

W systemach plików NFS czasami nie jest oczywiste, co trzeba zamknąć. Z poziomu R, możesz to zrobić z poziomu komendy używając:

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

 55
Author: jimmyb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-17 22:09:04

Dzieje się tak, gdy ostatnia instalacja pakietu została nieprawidłowo przerwana. aby to naprawić, należy usunąć zablokowany plik. Na przykład wykonaj to polecenie w konsoli R:

unlink("/home/me/src/Rlibs/00LOCK-Rcpp", recursive = TRUE)
Mam nadzieję, że to pomoże!
 7
Author: Sina,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-06 10:47:57