2015-05-27 11 views
34

पर स्थित किसी अन्य आर पैकेज पर निर्भर करता है, मैं गिटहब, LW1949 पर एक आर पैकेज बना रहा हूं, जो कि गिटहब, jvamisc पर एक अन्य आर पैकेज पर निर्भर करता है। जब मैंएक R पैकेज बनाएं जो गिटहब

require(devtools) 
devtools::install_github("user/LW1949") 

का उपयोग कर LW1949 स्थापित करने का प्रयास मैं संदेश मिलता है: Skipping 1 packages not available: jvamisc

मैं इस निर्भरता को खोजने के लिए सीआरएएन के बजाय LW1949 पैकेज (NAMESPACE में) के import(jvamisc) भाग को इंगित कर सकता हूं?

निश्चित रूप से इस प्रश्न से पूछा गया है और उत्तर दिया गया है, लेकिन मैं इसके लिए खोज में सफल नहीं था (शायद क्योंकि खोज शब्द बहुत आम हैं - आर, पैकेज, गिटहब, आदि)। मैंने Travis CI और Packrat भर में ठोकर खाई, जिसमें से मैंने उपयोग नहीं किया है। कोई विचार नहीं अगर वे मदद करेंगे। मैं जितना संभव हो सके उतना आसान तय करना पसंद करूंगा। (हम सभी नहीं होंगे?)

मैं आर स्टूडियो संस्करण 0.98.1103 में विंडोज के लिए आर संस्करण 3.1.3 का उपयोग कर रहा हूं।

+5

इसी तरह का प्रश्न अभी मिला है आर-पीकेजी-डेवेल पर पूछें। यदि आप github पर एक ड्रैट रेपो बनाते हैं, तो आप इसे स्पष्ट रूप से अपनी DESCRIPTION फ़ाइल के 'अतिरिक्त_repositories' फ़ील्ड में निर्दिष्ट कर सकते हैं। –

+0

हाय जीन। एसओ पर आपको देखकर अच्छा लगा। अतिरिक्त सुविधाओं के विकल्प की भी आवश्यकता थी जब सीआरएएन और बायोसी पैकेजों का मिश्रण था जो परस्पर निर्भर थे, लेकिन अब आप एक विकल्प में रिपो की खोज सूची निर्दिष्ट कर सकते हैं: 'विकल्प ("repos")' 'setRepositories ' –

+1

आप प्रोजेक्ट को फोर्क करना चाहते हैं और उस पर अपने पैकेज में लिंक कर सकते हैं ... यदि मूल उपयोगकर्ता आपके पैकेज को तोड़ने के तरीके को हटा देता है/बदल देता है। – cory

उत्तर

21

यह प्रश्न हाल ही में उत्तर दिया गया है, devtools 'github भंडार के this issue में संबोधित किया गया है।


पैकेज डेवलपर पीओवी:

1) कार्य करें:

devtools::use_package("jvamisc") 
devtools::document() 

अपने वर्णन फ़ाइल के Imports क्षेत्र में निर्भरता को जोड़ने के लिए।

2) मैन्युअल रूप से एक क्षेत्र "दूरस्थ:" जोड़ वर्णन फ़ाइल में, GitHub आर पर जहां निर्दिष्ट करने पैकेज के लिए दिखना चाहिए:

#in DESCRIPTION 
Imports: ..., 
    jvamisc, 
    ... 
Remotes: JVAdams/jvamisc 


अंतिम-उपयोगकर्ता पीओवी:

1) अंतिम उपयोगकर्ता के पास devtools का नवीनतम विकास संस्करण होना चाहिए (या कम से कम एक # f21ca3516c प्रतिबद्ध करने के लिए)। आप किसी भी तरह अपने DevTools संस्करण को अद्यतन करने के लिए 'मजबूर' के लिए (मैं तो बस स्थापना के निर्देश में रखते लगता है ... एक बेहतर तरीका के बारे में सोच नहीं कर सकते)

devtools::install_github(“hadley/devtools”, ref = “f21ca3516c”) 

2) अनलोड पर आर सत्र पुन: प्रारंभ करें है/DevTools पैकेज

3) हमेशा की तरह install_github

require(devtools) 
devtools::install_github("user/LW1949") 

मुझे लगता है कि इस कार्यक्षमता DevTools की क्रैन संस्करण के लिए अभी या बाद में जोड़ दिया जाएगा करने के लिए पुनः लोड है, तो उपयोगकर्ता लाने के लिए कोई जरूरत नहीं होगी देव संस्करण और वह सीधे चरण 3 पर जाना होगा)।


कदम और अतिरिक्त विकल्प this vignette

9

में विस्तृत वास्तविक समाधान अपने विवरण में जोड़ने के लिए लाइन

Remotes: hadley/testthat 

DevTools के दस्तावेज़ देखें फ़ाइल लगता है:

# Git 
Remotes: git::https://github.com/hadley/ggplot2.git 

# Bitbucket 
Remotes: bitbucket::sulab/[email protected], dannavarro/lsr-package 

# Bioconductor 
Remotes: bioc::3.3/SummarizedExperiment#117513, bioc::release/Biobase 

# SVN 
Remotes: svn::https://github.com/hadley/stringr 

# URL 
Remotes: url::https://github.com/hadley/stringr/archive/master.zip 

# Local 
Remotes: local::/pkgs/testthat 

# Gitorious 
Remotes: gitorious::r-mpc-package/r-mpc-package 
संबंधित मुद्दे