2017-04-24 13 views
10

से जगह में पर्ल अपग्रेड करें क्या स्रोत से पूर्ण पुन: संकलन किए बिना पर्ल के नए, मामूली संस्करण (और बाइनरी संगत) में अपग्रेड करने का कोई मानक तरीका है?स्रोत

उदाहरण के लिए, यदि मेरे पास सीपीएएन मॉड्यूल के समूह के साथ स्थापित पर्ल v5.24.0 है, तो क्या मैं इस इंस्टॉलेशन को v5.24.1 में अपग्रेड कर सकता हूं, बिना किसी नए नए निर्माण को पुन: संकलित किए और v5 के तहत स्थापित सभी सीपीएएन मॉड्यूल के लिए ऐसा कर सकता हूं .24.0? या क्या मुझे सभी स्थापित सीपीएएन मॉड्यूल की एक सूची बनाना है, एक नया पर्ल संकलित करना है, और नए संकलित संस्करण का उपयोग करके उन सीपीएएन मॉड्यूल को पुनर्स्थापित करना है?

मुझे नवीनतम रिलीज से स्रोत कोड का उपयोग करके वर्तमान सिस्टम को "पैच" करने का एक आसान तरीका नहीं दिख रहा है। (नोट: मुझे आश्चर्य है कि ऐसा करने का मूल तरीका है (यानी, perlbrew का उपयोग नहीं कर रहा है))।

+1

आपको अपने मॉड्यूल को पुनर्स्थापित करने की आवश्यकता नहीं है। – melpomene

+0

संबंधित: http://modernperlbooks.com/mt/2009/05/perl-5-and-binary-compatibility.html – jm666

+7

डाउन-वोटों की परवाह न करें। यह स्टैक ओवरफ्लो है, यहां कुछ ऐसे उपयोगकर्ता हैं जो सोचते हैं कि एकमात्र सही perl प्रश्न है जैसे कि प्रदान किए गए कोड के साथ, perl_ या ऐसी सूची में किसी सूची को पीछे हटाना।वे भूल जाते हैं कि यहां विषय-वस्तु ([सहायता/विषय-विषय]) प्रश्न भी हैं: _software टूल आमतौर पर प्रोग्रामर द्वारा उपयोग किए जाते हैं; और एक व्यावहारिक, उत्तरदायी समस्या है जो सॉफ़्टवेयर विकास_ के लिए अद्वितीय है - आपका प्रश्न उपरोक्त के साथ पूरी तरह से ऑनलाइन है। – Nemo

उत्तर

3

अगर मैं पर्ल v5.24.0 CPAN मॉड्यूल के एक समूह के साथ स्थापित किया है, मैं जहाँ तक एक नया निर्माण

recompiling के रूप में मैं जानता हूँ कि बिना v5.24.1 को यह स्थापना उन्नयन कर सकते हैं, नहीं। आपको स्क्रैच से नए पर्ल को कॉन्फ़िगर/संकलित/स्थापित करना होगा।

और v5.24.0 के तहत स्थापित सभी सीपीएएन मॉड्यूल के लिए ऐसा ही करना?

हाँ: Configure मौजूदा पर्ल संस्करणों के बारे में पूछता है और क्या यह @INC में उनके निर्देशिका शामिल होना चाहिए। यदि आप हाँ कहते हैं (जो मुझे विश्वास है कि डिफ़ॉल्ट है), सभी पहले से स्थापित मॉड्यूल आपके नए पर्ल में उपलब्ध हैं।


कहा:

या मैं सभी स्थापित CPAN मॉड्यूल की एक सूची बनाने के लिए है

यह cpan -a करना आसान है:

$ cpan -a 
... lots of modules listed here ... 

Wrote bundle file 
    /home/user/.cpan/Bundle/Snapshot_2017_04_25_00.pm 

और उन सीपीएएन मॉड्यूल usi पुनर्स्थापित करें नया संकलित संस्करण एनजी?

नई पर्ल स्थापित करने के बाद,

$ cpan Bundle::Snapshot_2017_04_25_00 

(या जो भी नाम cpan -a पिछले चरण में स्नैपशॉट फ़ाइल दिया) चलाने के लिए और यह सब कुछ आप पहले था स्थापित करना चाहिए।

+0

धन्यवाद। यह एक समाधान के रूप में काम करता है। मुझे अभी भी हैरान है कि प्रत्यक्ष अंतर्निहित नहीं है जो नवीनतम मामूली रिलीज में अपग्रेड कर सकता है। – secJ

0

यदि आप perlbrew का उपयोग कर रहे हैं तो इसमें 'upgrade-perl' कमांड है। नकारात्मकता यह है कि प्रारंभिक कॉन्फ़िगरेशन पैरामीटर अभी भी नए निर्मित संस्करण को पास नहीं किए गए हैं। यह भी देखें http://www.modernperlbooks.com/mt/2013/03/upgrade-in-place-with-perlbrew.html

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