2013-01-17 10 views
26

मैं जब Rcpp पैकेज डाउनलोड यह त्रुटि प्राप्त "लॉक निर्देशिका बनाने में विफल":आर install.packages रिटर्न

> 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. आर/घर/मुझे/में लिखने के अधिकारों के लिए आर क्यों लिखना चाहते हैं?
  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 

उत्तर

45

इस से बचने के लिए सबसे अच्छा तरीका है, कमांड लाइन पर '--no-लॉक' तर्क का उपयोग करने के लिए है जैसे

R CMD INSTALL --no-lock <pkg>

एनएफएस फाइल सिस्टम पर कभी-कभी यह स्पष्ट नहीं होता कि आपको क्या बंद करना है। आर अंदर से, आप इस से अपने आदेश के भीतर का उपयोग कर सकते हैं:

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

+3

यह अच्छा धन्यवाद है। लेकिन क्या हो रहा है? – Garini

+1

इसने मेरे लिए भी इस मुद्दे को हल किया, लेकिन मैं @ गारिनि के साथ हूं, फाइल लॉक का कारण क्या है? – rjkunde

0

यह तब होता है जब अपने अंतिम पैकेज स्थापना असामान्य रूप से रोक दिया है। इसे ठीक करने के लिए आपको लॉक की गई फाइल को हटा देना चाहिए। आर कंसोल में इस आदेश निष्पादित करें:

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

आशा इस मदद करता है!