नोड और नोडज के अलग-अलग संस्करण हैं


15

मैं उन आदेशों का उपयोग करके नोड्स के नवीनतम संस्करण को सफलतापूर्वक अपडेट / स्थापित / स्थापित करता हूं (आधिकारिक curlतरीका मेरे लिए काम नहीं कर रहा है):

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node

हालाँकि, मेरे नोड और नोडज के संस्करण अलग-अलग हो जाते हैं:

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

ऐसा लगता है कि नया नोड स्थापित है /usr/local/bin/node, इसलिए मैंने कोशिश की:

sudo ln -s /usr/bin/nodejs /usr/local/bin/node

लेकिन यह रिटर्न:

ln: failed to create symbolic link ‘/usr/local/bin/node’: File exists

मैं भी इस लिंक का उपयोग करता हूं:

$ sudo ln -s /usr/bin/nodejs /usr/bin/node
ln: failed to create symbolic link ‘/usr/bin/node’: File exists

मैं कुछ चौखटों का उपयोग करूंगा node, जो इस पर निर्भर हैं , जैसे Ionic। किस नोड संस्करण का उपयोग करेगा?

इसे हल करने के लिए मुझे क्या करना चाहिए?

आपकी सहायता के लिए धन्यवाद


असली सवाल imo है, मैं कैसे किसी भी मौजूदा नोड संस्करणों को अधिलेखित करने nodejsऔर noden द्वारा स्थापित बाइनरी को सिमिलिंक करने के लिए बताऊं । और अगर n ऐसा करने में असमर्थ है, तो कला की स्थिति क्या है? एक कामकाजी वातावरण में, यह बहुत ही त्रुटि का खतरा है, अगर नोडज और नोड अलग-अलग नोडज संस्करणों को संबोधित करते हैं।
10

जवाबों:


13

मेरे लिए वही समस्या हल करने वाले चरण:

sudo apt-get remove nodejs
sudo ln -s /usr/bin/node /usr/bin/nodejs

व्याख्या

आपने अपने कंप्यूटर पर नोडज के दो संस्करण स्थापित किए हैं, इसलिए आपको उनमें से एक को निकालने की आवश्यकता है। आपकी स्थिति:

node v5.0.0 - you will keep this one
nodejs v0.10.25 - this you can remove

आप कमांड के nodejsजरिए पैकेज निकाल सकते हैं apt-get remove। इससे फाइल भी हट जाएगी /usr/bin/nodejsऔर आपको अपना त्रुटि संदेश दोबारा नहीं मिलेगा।

अब आप "/ usr / बिन / नोडज" नामक एक प्रतीकात्मक लिंक बना सकते हैं, जो स्रोत पर इंगित करता है "/ usr / स्थानीय / बिन / नोड"। आपके उदाहरण में आपके पास "से" और "से" पथ के गलत क्रम हैं

sudo ln -s source_file myfile

लिंक निर्माण के बारे में अधिक जानकारी: प्रतीकात्मक लिंक कैसे काम करता है


5

त्रुटि:

ln: failed to create symbolic link ‘/usr/bin/node’: File exists

सामान्य रूप से की वजह से तुम सच में NodeJS, के दो संस्करण हैं जब है उर्फ के साथ एक nodeऔर के साथ अन्य nodejsउर्फ, जैसा कि हम आदेशों के परिणाम पर देख सकते हैं node --versionऔर nodejs --version:

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

इसलिए आप पहले से मौजूद फ़ाइल के लिए एक प्रतीकात्मक लिंक नहीं बना सकते।

इसे हल करने के लिए आपको उपयोग करके दो पैकेजों को पूरी तरह से हटाने की आवश्यकता है:

sudo apt-get purge node
sudo apt-get purge nodejs
sudo rm -rf bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node

और nodejsकमांड का उपयोग करके केवल पैकेज को पुनर्स्थापित करें :

sudo apt-get install nodejs

और एक प्रतीकात्मक लिंक का उपयोग कर बनाएँ:

ln -s /usr/bin/nodejs /usr/bin/node

या स्थापित करें nodejs-legacyजो इस समस्या को कमांड के साथ हल करेगा:

sudo apt-get install nodejs-legacy 

बहुत बहुत धन्यवाद, आपने जानकारी जोड़ दी, मैंने पहले ही इस मुद्दे को अपने आप हल कर लिया। मैंने उत्थान किया।
15:18 बजे

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.