2012-12-12 31 views
24

क्या किसी को पता है कि स्रोत से नवीनतम निर्माण स्थापित करना एक जोखिम भरा मार्ग है? क्या मुझे बस पैकेज प्रबंधक के साथ रहना चाहिए?क्या मुझे पैकेज प्रबंधक या स्रोत से उबंटू पर node.js इंस्टॉल करना चाहिए?

उत्तर

26

वर्तमान सिफारिशों

  • उपयोग nvm आप अपने उपयोगकर्ता खाते के साथ स्थापित करना चाहते हैं। (मैं इसे व्यक्तिगत रूप से पसंद करता हूं)
  • hereapt के माध्यम से एक पीपीए का उपयोग करके निर्देशों का पालन करें।

ओल्ड उत्तर

नोट: इस लेखन मैं उबंटू 12.10 उपयोग कर रहा हूँ के समय।

नोड स्थापित करने के कई तरीके हैं। मैं व्यक्तिगत रूप से नवीनतम स्थिर निर्माण के स्रोत को डाउनलोड करना पसंद करता हूं और इसे ~/local पर स्थापित करता हूं (./configure कमांड को here के रूप में जोड़कर आप इसे करते हैं। ऐसा करने में वास्तव में कोई भी 'जोखिम' नहीं है क्योंकि सब कुछ इंस्टॉल हो जाता है एक निर्देशिका जो आपके सिस्टम के बाकी हिस्सों से अलग है। आप। अपने सिस्टम में नोड नुस्खा स्क्रिप्ट इंस्टॉल here पर एक नज़र हो सकता है मैं नियमित रूप से नवीनतम संस्करण के लिए मेरी स्थापना के उन्नयन के लिए मेरी update_node.py स्क्रिप्ट चलाने।

वैकल्पिक रूप से आप कर सकते हैं पैकेज प्रबंधक के माध्यम से नवीनतम स्थिर संस्करण स्थापित करने के लिए here निर्देशों का पालन करें। मैंने वास्तव में ऐसा नहीं किया है, इसलिए मैं इस पर टिप्पणी नहीं कर सकता कि यह कितनी अच्छी तरह से काम करता है।

मैं क्या नहीं करूंगा उबंटू ब्रह्मांड पैकेज से नोड स्थापित करें। आप एक बहुत ही दिनांकित संस्करण (वर्तमान में 0.6.1 9) के साथ समाप्त हो जाएगा।

अद्यतन 2013/01/26:

आप (गैर रूट) खाता आपके उपयोगकर्ता के साथ नोड स्थापित करने में रुचि रखते हैं, मैं अत्यधिक पढ़ने this ब्लॉग पोस्ट सलाह देते हैं। मैंने ~/.npmrc चरण छोड़ दिया, लेकिन पाया कि ~/.node_modules सिम्लिंक चरण require प्राप्त करने के लिए उचित रूप से काम करने के लिए आलोचनात्मक था।

अद्यतन 2014/12/30:

मैं लिनक्स टकसाल का उपयोग कर और बाइनरी नोड को स्थापित करता है क्या कर के लिए चले गए। यदि आपको अपनी स्थापना स्क्रिप्ट लिखने में कोई रूचि है, तो आप मेरा वर्तमान एक here पा सकते हैं। विशेष रूप से देखें कि मैं node.sh में क्या कर रहा हूं। execute फ़ंक्शन पहले इंस्टॉलेशन के दौरान चलाया जाता है, इसलिए यह .bashrc में पथ कॉन्फ़िगर करने जैसी चीजें करता है। install फ़ंक्शन update-node.sh द्वारा चलाया जाता है और इसका उपयोग मौजूदा स्थापना को हटाने और एक नया (नवीनतम संस्करण या उपयोगकर्ता द्वारा निर्दिष्ट एक) जोड़ने के लिए किया जाता है।

अद्यतन 2016/01/08:

मैं सिर्फ nvm का उपयोग कर पर स्विच। बस नवीनतम संस्करण प्राप्त करने के लिए स्क्रिप्ट स्थापित करें और फिर nvm install node चलाएं। यह आपके उपयोगकर्ता खाते के साथ नोड स्थापित करने का एक शानदार तरीका प्रतीत होता है।

+0

जॉयंट विकी स्थापित संस्करण के लिए आपका लिंक वर्तमान स्थिर (होमपेज पर रिपोर्ट) के साथ 0.8.17 लगभग 1/20 संस्करण 0.8.18 था, इसलिए यह काम करने योग्य है। साथ ही, जैसा कि उबंटू ट्यूटोरियल संशोधित करता है, आपको 'add-apt-repository' के लिए' सॉफ़्टवेयर-गुण-सामान्य 'की आवश्यकता होगी। उबंटू कोर 12.10 – TERMtm

+0

पर परीक्षण किया गया था, मैंने उबंटू रिपोज का उपयोग करके नोडज और एनपीएम स्थापित करने के बाद उबंटू (12.4 और 12.10) पर एनपीएम के साथ कैनवास और अन्य मॉड्यूल स्थापित करने में सभी प्रकार की समस्याएं थीं, लेकिन फिर मैंने 'सुडो ऐड-एपीटी-रिपोजिटरी पीपीए: क्रिस -lea/node.js' और फिर नोड और एनपीएम को पुनर्स्थापित किया गया और अब सब ठीक काम कर रहे हैं। मैं बेहतर समझना चाहता हूं कि क्या हो रहा था, लेकिन अब यह काम कर रहा है इसलिए मैं इसे अभी छोड़ दूंगा। – ratsbane

+0

@ratsbane आपके मॉड्यूल को संभवतः नोड, एनपीएम, या दोनों के एक नवीनतम संस्करण की आवश्यकता है। –

1

हालांकि मैं एक। आरपीएम में रहता हूं, और नहीं .deb realm, fpm दोनों (रूबी स्थापित करने की आवश्यकता है) कर सकते हैं। मैं बिना किसी बड़ी कठिनाइयों के नवीनतम स्थिर स्रोत से node.js को पैकेज करने में सक्षम हूं। आपके मामले में, इस परिदृश्य पर मदद मिल सकती है: https://github.com/creationix/nvm

बोनस है कि यह आप आसानी से संस्करणों के बीच स्विच करने देता है:

./configure --prefix=/usr 
make 
mkdir -p /tmp/nodejs 
make install DESTDIR=/tmp/nodejs 
fpm -s dir -t deb -n nodejs -v 0.8.15 -p nodejs-0.8.15.deb -C /tmp/nodejs usr 
6

एक और विकल्प nvm (नोड संस्करण प्रबंधक) है।

+0

टिप के लिए धन्यवाद। मुझे पूरे सिस्टम में 'नोड' सुलभ बनाने के लिए 'nvm' सेट अप करने पर कोई जानकारी नहीं दिखाई दे रही है? (उदाहरण के लिए रूट के रूप में स्थापित) –

+0

यह उत्कृष्ट है! – Pogrindis