2010-12-01 13 views
5

के लिए संकलन विफल रहा मुझे विंडोज़ पर आर के लिए एक डमी परीक्षण पैकेज बनाने में परेशानी हो रही है। परीक्षण के लिए , आर टर्मिनल में, मैं इनपुट:विंडोज़ के लिए आर पॅककेज बनाएं-ERROR: पैकेज xxx

a=rnorm(10) 
package.skeleton("pkgtest") 

तो मैं इस डमी पैकेज पर R CMD check pkgtest चलाने के लिए और

* using R version 2.12.0 (2010-10-15) 
* using platform: i386-pc-mingw32 (32-bit) 
* using session charset: ISO8859-1 
* checking for file 'pkgtest/DESCRIPTION' ... OK 
* checking extension type ... Package 
* this is package 'pkgtest' version '1.0' 
* checking package dependencies ... OK 
* checking if this is a source package ... OK 
* checking for executable files ... OK 
* checking whether package 'pkgtest' can be installed ... ERROR Installation failed. 

संपादित तरह त्रुटि मिली, पूर्ण लॉग फ़ाइल:

* installing *source* package 'pkgtest' ... 
** libs 
cygwin warning: 
    MS-DOS style path detected: C:/R/R-212~1.0/etc/i386/Makeconf 
    Preferred POSIX equivalent is: /cygdrive/c/R/R-212~1.0/etc/i386/Makeconf 
    CYGWIN environment variable option "nodosfilewarning" turns off this warning. 
    Consult the user's guide for more details about POSIX paths: 
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames 
ERROR: compilation failed for package 'pkgtest' 
`* removing 'C:/DOCUME~1/xxxx'` 

यह सब कुछ है। मेरे पास डेटा फ़ोल्डर में डेटा a है, इसलिए यह खाली नहीं है। आरडी फ़ाइल वास्तव में Rcmd rd2pdf द्वारा पीडीएफ को संकलित कर सकती है, इसका शीर्षक खाली नहीं है।

क्या मुझे इस त्रुटि के लिए कुछ मूलभूत याद आ रही है? मेरे पास Rtools2.12 स्थापित है। मेरे पास पैकेज inline और Rcpp भी अंतर्निहित और चल रहे उदाहरण ठीक हैं। मेरे आर पर्यावरण सेटअप का परीक्षण करने के लिए, मैंने आरसीपीपी स्रोत पैकेज डाउनलोड किया और R cmd checkRcpp पर किया, यह ठीक हो गया।

+0

क्या आर कोर समर्थन सिग्विन के तहत संकलित करते हैं? मैंने सोचा कि विंडोज़ के लिए आर को मिंगव की आवश्यकता है? –

+0

मैं यह देखने में असफल रहा कि किसी ने इस प्रश्न को -1 तक क्यों वोट दिया। इसलिए मैंने इसे वापस 0 पर पहुंचा दिया। यह एक वैध प्रश्न है और इसमें नमूना कोड, विवरण इत्यादि शामिल हैं। – Choens

उत्तर

3

हां, यदि आपने जो कुछ किया है, वह सब कुछ ऊपर दिए गए कदम थे।

सबसे पहले, आप कर के रूप में package.skeleton से उत्पादन आप

> a=rnorm(10) 
> package.skeleton("pkgtest") 
Creating directories ... 
Creating DESCRIPTION ... 
Creating Read-and-delete-me ... 
Saving functions and data ... 
Making help files ... 
Done. 
Further steps are described in './pkgtest/Read-and-delete-me'. 

?: करने के लिए विशेष अंतिम पंक्ति में पूछता था।

पूर्ण जांच लॉग बोली नहीं है, मैं मिलता है:

$ R CMD check pkgtest 
* checking for working pdflatex ... OK 
* using log directory '/home/gavin/tmp/pkgtest.Rcheck' 
* using R version 2.11.1 Patched (2010-08-17 r52767) 
* using session charset: UTF-8 
* checking for file 'pkgtest/DESCRIPTION' ... OK 
* checking extension type ... Package 
* this is package 'pkgtest' version '1.0' 
* checking package dependencies ... OK 
* checking if this is a source package ... OK 
* checking for executable files ... OK 
* checking whether package 'pkgtest' can be installed ... ERROR 
Installation failed. 
See '/home/gavin/tmp/pkgtest.Rcheck/00install.out' for details. 

तो तुम जाओ और .out फ़ाइल यह उल्लेख है की सामग्री को जाँच करनी चाहिए। मेरे पास उस फ़ाइल में निम्न है:

$ cat /home/gavin/tmp/pkgtest.Rcheck/00install.out 
* install options are ' --no-html' 

* installing *source* package ‘pkgtest’ ... 
** R 
** data 
** preparing package for lazy loading 
** help 
Warning: ./man/pkgtest-package.Rd:34: All text must be in a section 
Warning: ./man/pkgtest-package.Rd:35: All text must be in a section 
*** installing help indices 
Error in Rd_info(db[[i]]) : 
    Rd files must have a non-empty \title. 
See chapter 'Writing R documentation' in manual 'Writing R Extensions'. 
* removing ‘/home/gavin/tmp/pkgtest.Rcheck/pkgtest’ 

पैकेज स्रोत को देखने के बाद, जो काफी आत्म-स्पष्टीकरणपूर्ण है।

> a=rnorm(10) 
> package.skeleton(name = "pkgtest", list = "a") 

और फिर आप नोट करना चाहिए कि आप रोड फ़ाइलों को संपादित करने की क्या ज़रूरत है:

आप कम से कम की जरूरत है। यह एक डिजाइन सुविधा है कि prompt() और package.skeleton() पैकेज लेखकों को उनके पैकेज के लिए न्यूनतम दस्तावेज लिखने के लिए वैध आरडी फाइलें नहीं बनाते हैं।

+0

हमें अलग लॉग फ़ाइल मिली: – learnrpackage

+0

@learnrpackage: विंडोज बनाम लिनक्स मतभेदों के कारण हो सकता है। मुझे कहना चाहिए था कि मैं लिनक्स पर था। –

+0

धन्यवाद गेविन, आरडी फ़ाइल कारण लगता है। 'List = 'a'' वैकल्पिक लगता है, क्योंकि' package.skeleton' मौजूदा वातावरण में सभी ऑब्जेक्ट्स को 'सूची' डिफ़ॉल्ट करता है। – learnrpackage

1

आपको अगली पंक्ति में सूचीबद्ध फ़ाइल में त्रुटियों को देखने की आवश्यकता है जो आपने नहीं दिखाया था।

जब मैं अपने चरणों वापस करने के लिए प्रयास करते हैं, मैं भी कोई त्रुटि मिलती है:

/tmp/pkgtest$ r -e 'package.skeleton("pkgtest")' 
Creating directories ... 
Creating DESCRIPTION ... 
Creating Read-and-delete-me ... 
Saving functions and data ... 
Making help files ... 
Done. 
Further steps are described in './pkgtest/Read-and-delete-me'. 
/tmp/pkgtest$ R CMD INSTALL pkgtest/ 
* installing to library ‘/usr/local/lib/R/site-library’ 
* installing *source* package ‘pkgtest’ ... 
** data 
** help 
Warning: /tmp/pkgtest/pkgtest/man/pkgtest-package.Rd:33: \ 
     All text must be in a section 
*** installing help indices 
Error in Rd_info(db[[i]]) : 
    Rd files must have a non-empty \title. 
See chapter 'Writing R documentation' in manual 'Writing R Extensions'. 
* removing ‘/usr/local/lib/R/site-library/pkgtest’ 
/tmp/pkgtest$ 

package.skeleton() के लिए सार्थक होने के लिए, आप इसे एक या अधिक काम करता है, डेटा वस्तुओं, ... जो तुमने किया था देने की आवश्यकता नहीं।

+0

धन्यवाद Dirk। मेरे पास Rd_info लॉग संदेश नहीं था लेकिन ऐसा कारण लगता है। – learnrpackage

संबंधित मुद्दे