R installer.retours de paquets " impossible de créer le répertoire de verrouillage"
Je reçois cette erreur lors du téléchargement du paquet 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’
...
Comme ma machine est sur un cluster d'ordinateurs, Je l'ai essayé sur différents nœuds, et j'ai pris soin de supprimer les fichiers temporaires téléchargés dans /tmp. Ce qui est étrange c'est que j'ai les droits pour écrire dans /home/moi/src/Rlibs/. Donc mes questions sont:
- pourquoi ne R veulent avoir des droits d'écriture dans /home alors qu'il a besoin seulement de droits d'écriture dans /home/moi/?
- comment puis-je corriger l'erreur?
> 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
2 réponses
La meilleure façon d'éviter cela est d'utiliser la '--no-lock' argument sur la ligne de commande, par exemple,
R CMD INSTALL --no-lock <pkg>
Sur les systèmes de fichiers NFS, il n'est parfois pas évident de savoir ce que vous devez fermer. Depuis R, Vous pouvez le faire depuis votre commande en utilisant:
install.packages("Rcpp", dependencies=TRUE, INSTALL_opts = c('--no-lock'))
Cela se produit lorsque votre dernière installation de package s'est interrompue anormalement. pour corriger cela, vous devez supprimer le fichier verrouillé. Par exemple, exécutez cette commande dans la console R:
unlink("/home/me/src/Rlibs/00LOCK-Rcpp", recursive = TRUE)
Espérons que cela aide!