2012-08-27 17 views
16

मैं एक कस्टम आर पैकेज भंडार बना रहा हूं और सीआरएएन संग्रह संरचना को दोहराना चाहता हूं जिससे संकुल के पुराने संस्करण src/contrib/Archive/packageName/ निर्देशिका में संग्रहीत किए जाते हैं। मैं फ़ंक्शन devtools (स्रोत here) में उपयोग करना चाहता हूं, लेकिन यह फ़ंक्शन src/contrib/ में सभी पैकेज संस्करणों के बजाय एक CRAN- जैसे संग्रह संरचना पर निर्भर है।कोई आर पैकेज भंडार प्रबंधन उपकरण हैं?

क्या कोई आर पैकेज रिपोजिटरी प्रबंधन उपकरण है जो इस निर्देशिका संरचना और अन्य संबंधित कार्यों (जैसे Archive.rds फ़ाइल को अद्यतन करना) के निर्माण की सुविधा प्रदान करता है?

यह भी अच्छा होगा यदि प्रबंधन उपकरण भंडार तरफ पैकेज type तर्क संभाला ताकि मैं पर अपने स्थानीय मैक के रूप में एक Linux सर्वर पर एक ही install.packages() या install_version() कोड का उपयोग कर सकते हो जाएगा (यानी मैं की जरूरत नहीं है मैक पर स्थानीय रूप से स्थापित करते समय type="both" या type="source" का उपयोग करें)।

+3

आप आर-डेवेल मेलिंग सूची (यदि आपने पहले से ऐसा नहीं किया है) पर यह प्रश्न पूछ सकते हैं, तो वे इसे सर्वश्रेष्ठ जानते हैं। या यहां तक ​​कि सीधे सीआरएएन रखरखाव से भी, यानी कर्ट। –

+0

धन्यवाद, मैंने किया। मैं जल्द ही एक उत्तर पोस्ट करूंगा। –

उत्तर

4

लघु जवाब: ऑफ-द-शेल्फ उपयोग के लिए नहीं वास्तव में।

लांग जवाब: वहाँ उपकरण है कि अपने रेपो प्रबंधन करने के लिए उपयोग कर सकते हैं के एक जोड़े हैं, लेकिन एक सुसंगत ऑफ-द-शेल्फ पारिस्थितिकी तंत्र अभी तक नहीं है।

सीआरएएन रखरखाव CRAN भंडार का प्रबंधन करने के लिए स्क्रिप्ट here की स्क्रिप्ट रखता है, लेकिन यह स्पष्ट नहीं है कि वे सभी एक साथ कैसे काम करते हैं या पैकेज इंडेक्स को अपडेट करने, पैकेज जांच चलाने या निर्देशिका संरचना का प्रबंधन करने के लिए किस भाग की आवश्यकता होती है।

tools::write_PACKAGES फ़ंक्शन का उपयोग पैकेज इंडेक्स को अपडेट करने के लिए किया जा सकता है, लेकिन प्रत्येक बार जब पैकेज को जोड़ा जाता है, अद्यतन किया जाता है या हटा दिया जाता है तो इसे अद्यतन करने की आवश्यकता होती है।

M.eik Michalke roxyPackagepackage, जो स्वत: एक दिया भंडार को अद्यतन करने की क्षमता है पैदा कर दी है, इसे स्थापित, आदि डेवलपर भी हाल ही में संग्रह संरचना करने की क्षमता जोड़ा गया है नकल क्रैन की कि archive_structure साथ समारोह। नकारात्मकता यह है कि पैकेज CRAN पर नहीं है और यदि devtools के साथ एकीकृत किया गया तो शायद बेहतर होगा। यह भी नया ब्रांड है और अभी तक व्यापक उपयोग के लिए तैयार नहीं है।

अंत में, मैंने एक छोटा रूबी script बनाया जो किसी दिए गए भंडार को देखता है और यदि कोई फ़ाइल बदलती है तो पैकेज इंडेक्स अपडेट करता है। हालांकि, यह मेरे विशिष्ट संगठन के लिए काम करने के लिए बनाया गया है और बाहरी उपयोग के लिए पुन: सक्रिय करने की आवश्यकता होगी। यदि कोई इसमें रूचि रखता है तो मैं इसे और अधिक सामान्य बना सकता हूं।

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

  • कोई संबंधित समस्या नहीं^_^