node.js उबंटू में नोड पैकेज मैनेजर का उपयोग करके पैकेज इंस्टॉल नहीं कर सकते हैं




ubuntu npm (17)

  1. पहले उपयोग कर nvm स्थापित करें:

    curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash
    
  2. चलाने के आदेश

    source ~/.profile
    
  3. अब इसे चलाएं और यह दिखाएगा कि सभी इंस्टॉल या पैकेज के अन्य संस्करण होंगे:

    nvm ls-remote
    
  4. स्थापित पैकेज हरे रंग में होंगे। जो भी संस्करण आप चाहते हैं उसे इंस्टॉल करें:

    nvm install 6.0.0
    
  5. जांचें कि इंस्टॉल नहीं किया गया है:

    which node
    
  6. वर्तमान संस्करण की जांच करें:

    node -v
    
    n=$(which node);
    n=${n%/bin/node}; 
    chmod -R 755 $n/bin/*; 
    sudo cp -r $n/{bin,lib,share} /usr/local
    

https://code.i-harness.com

उबंटू पर नोडजेएस दुभाषिया नाम ( node ) का नाम दूसरे पैकेज के साथ नाम संघर्ष के कारण बदलकर nodejs कर दिया गया है। यहां readme.debian क्या कहता है:

Node.js दुभाषिया कमांड के लिए अपस्ट्रीम नाम "नोड" है। डेबियन में दुभाषिया कमांड को "नोडजेस" में बदल दिया गया है।

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

एक शेल कमांड के रूप में Node.js को कॉल करने वाली स्क्रिप्ट को "nodejs" कमांड का उपयोग करने के बजाय बदला जाना चाहिए।

हालांकि, nodejs का उपयोग करके npm का उपयोग कर संकुल अधिष्ठापन कर सकते हैं। पैकेज स्थापना निम्न त्रुटि के साथ विफल रहता है:

sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian

मैं एनपीएम कैसे समझ सकता हूं कि सिस्टम पर नोडज पहले ही स्थापित है लेकिन दुभाषिया का नाम अलग है?


आप /usr/bin में एक लिंक ln -s nodejs नोड बना सकते हैं उम्मीद है कि यह आपकी समस्या हल करता है।


आप NVMjs को NVM या Nodejs संस्करण प्रबंधक का उपयोग करके भी इंस्टॉल कर सकते हैं संस्करण प्रबंधक का उपयोग करने के लिए बहुत सारे benefits । उनमें से एक आपको इस मुद्दे के बारे में चिंता करने की ज़रूरत नहीं है।


निर्देश:


sudo apt-get update
sudo apt-get install build-essential libssl-dev

एक बार जब आवश्यक पैकेज स्थापित हो जाते हैं, तो आप प्रोजेक्ट के गिटहब पेज से एनवीएम इंस्टॉलेशन स्क्रिप्ट को नीचे खींच सकते हैं। संस्करण संख्या भिन्न हो सकती है, लेकिन सामान्य रूप से, आप इसे निम्न वाक्यविन्यास के साथ डाउनलोड और इंस्टॉल कर सकते हैं:

curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh

यह स्क्रिप्ट डाउनलोड करेगा और इसे चलाएगा। यह सॉफ़्टवेयर को आपके होम निर्देशिका की उपनिर्देशिका में ~/.nvm । यह फ़ाइल का उपयोग करने के लिए आपकी ~/.profile फ़ाइल में आवश्यक लाइन भी जोड़ देगा।

एनवीएम कार्यक्षमता तक पहुंच प्राप्त करने के लिए, आपको लॉग आउट करना होगा और फिर से लॉग इन करना होगा, या आप ~ / .profile फ़ाइल को स्रोत कर सकते हैं ताकि आपका वर्तमान सत्र परिवर्तनों के बारे में जानता हो:

source ~/.profile

अब जब आपने एनवीएम स्थापित किया है, तो आप पृथक Node.js संस्करण स्थापित कर सकते हैं।

स्थापना के लिए उपलब्ध Node.js के संस्करणों को जानने के लिए, आप टाइप कर सकते हैं:

nvm ls-remote
. . .

v0.11.10
v0.11.11
v0.11.12
v0.11.13
v0.11.14

जैसा कि आप देख सकते हैं, इस लेखन के समय नवीनतम संस्करण v0.11.14 है। आप इसे टाइप करके इंस्टॉल कर सकते हैं:

nvm install 0.11.14

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

nvm use 0.11.14

जब आप nvm का उपयोग करते हुए Node.js को स्थापित करते हैं, निष्पादन योग्य को नोड कहा जाता है। आप वर्तमान में शैल द्वारा टाइप किए गए संस्करण को टाइप करके देख सकते हैं:

node -v

कॉम्प्लीट ट्यूटोरियल here पाया जा सकता here


आपका सिस्टम पथ नोड जेएस बाइनरी का पता लगाने में सक्षम नहीं है।

1. जो नोड

2. फिर नरम लिंक नोड nodejs करने के लिए

ln -s [the path of nodejs] /usr/bin/node 

मुझे लगता है कि / usr / bin आपके निष्पादन पथ में है। फिर आप अपनी कमांड लाइन में नोड या एनपीएम टाइप करके परीक्षण कर सकते हैं, और सबकुछ अब काम करना चाहिए।


आपके पास जो भी नोड संस्करण है, उसे अनइंस्टॉल करें

sudo apt-get --purge remove node
sudo apt-get --purge remove nodejs-legacy
sudo apt-get --purge remove nodejs

एनवीएम (नोड संस्करण प्रबंधक) स्थापित github.com/creationix/nvm

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

अब आप जो भी संस्करण चाहते हैं उसे स्थापित कर सकते हैं और संस्करणों के बीच स्विच कर सकते हैं।


जैसा कि अन्य लोगों का पहले से उल्लेख है, मैं सुझाव दूंगा कि नोड या किसी भी विकास पुस्तकालय को स्थापित करने के लिए "सुडो एपीटी-गेट" का उपयोग न करें। आप https://nodejs.org/dist/v6.9.2/ से आवश्यक संस्करण डाउनलोड कर सकते हैं और अपने पर्यावरण को सेटअप कर सकते हैं।

मैं आपको नोड संस्करण प्रबंधित करने के लिए github.com/creationix/nvm और n जैसे टूल की अनुशंसा github.com/creationix/nvm । इन मॉड्यूल के साथ स्विच और काम करना बहुत सुविधाजनक है। github.com/creationix/nvm n

या ज़िप / टैर डाउनलोड करने के लिए मूल बैश लिखें, फ़ोल्डर को निकालें और एक सॉफ्ट लिंक बनाएं। जब भी आपको अपडेट करने की आवश्यकता होती है, तो पुराने डाउनलोड किए गए पुराने संस्करण को पुराने डाउनलोड करें। जैसे मैंने अपने लिए बनाया है, आप देख सकते हैं: https://github.com/deepakshrma/NodeJs-4.0-Reference-Guide/blob/master/nodejs-installer.sh संदर्भ- Guide/ https://github.com/deepakshrma/NodeJs-4.0-Reference-Guide/blob/master/nodejs-installer.sh master/ https://github.com/deepakshrma/NodeJs-4.0-Reference-Guide/blob/master/nodejs-installer.sh

#Go to home
cd ~
#run command
#New Script
wget https://raw.githubusercontent.com/deepakshrma/NodeJs-4.0-Reference-Guide/master/nodejs-installer.sh 
bash nodejs-installer.sh -v lts
#here -v or --version can be sepecific to 0.10.37 or it could be latest/lts 
#Examples
bash nodejs-installer.sh -v lts
bash nodejs-installer.sh -v latest
bash nodejs-installer.sh -v 4.4.2

टी एल; डॉ:

sudo apt-get install nodejs-legacy

सबसे पहले मुझे स्थिति को थोड़ा सा स्पष्ट करने दें। गर्मियों में 2012 डेबियन रखरखावकर्ता ने किसी अन्य पैकेज के साथ किसी प्रकार के नेमस्पेस टक्कर को रोकने के लिए निष्पादन योग्य नोड.जेएस का नाम बदलने का फैसला किया। डेबियन तकनीकी समिति के लिए यह बहुत कठिन निर्णय था, क्योंकि यह पिछड़ा संगतता तोड़ता है।

निम्नलिखित डेबियन मेलिंग सूची में प्रकाशित समिति रिज़ॉल्यूशन ड्राफ्ट से उद्धरण है:

  1. Nodejs पैकेज को / usr / bin / nodejs प्रदान करने के लिए बदला जाएगा, नहीं / usr / bin / node। पैकेज को ब्रेक घोषित करना चाहिए: डेबियन में किसी भी पैकेज के साथ संबंध जो संदर्भ / usr / bin / node है।

  2. नोडजेस स्रोत पैकेज प्राथमिकता पर एक नोडजेस-विरासत बाइनरी पैकेज भी प्रदान करेगा: अतिरिक्त जिसमें / usr / bin / node / syrink के रूप में / usr / bin / nodejs के रूप में होता है। संग्रह में कोई पैकेज नोडजेस-विरासत पैकेज पर निर्भर या अनुशंसा नहीं कर सकता है, जो पूरी तरह से अपस्ट्रीम के लिए प्रदान किया जाता है
    संगतता। इस पैकेज की घोषणा भी एक संघर्ष घोषित करेगी: नोड पैकेज के साथ संबंध।

<...>

अनुच्छेद 2 ओपी के मुद्दे के लिए वास्तविक समाधान है। ओपी को हाथ से सिम्लिंक करने की बजाय इस पैकेज को स्थापित करने का प्रयास करना चाहिए। डेबियन पैकेज इंडेक्स website में इस पैकेज का लिंक यहां दिया गया है।

यह sudo apt-get install nodejs-legacy किया जा सकता है।

मुझे एनपीएम डेवलपर्स द्वारा पूरी चीज को अपनाने के बारे में कोई जानकारी नहीं मिली है, लेकिन मुझे लगता है कि npm पैकेज कुछ बिंदु पर तय किया जाएगा और nodejs-legacy वास्तव में विरासत बन जाएगी।


नोड को नोडज से जोड़ने का प्रयास करें। सबसे पहले पता लगाएं कि नोडजेस कहां है

whereis nodejs

फिर नरम लिंक नोड nodejs करने के लिए

ln -s [the path of nodejs] /usr/bin/node 

मुझे लगता है कि / usr / bin आपके निष्पादन पथ में है। फिर आप अपनी कमांड लाइन में नोड या एनपीएम टाइप करके परीक्षण कर सकते हैं, और सबकुछ अब काम करना चाहिए।


मेरे लिए फिक्स नोड * पैकेज और एनपीएम पैकेज को हटा रहा था।

फिर एक ताजा स्थापित करें:

sudo apt-get install autoclean
sudo apt-get install nodejs-legacy
npm install

मेरे लिए समस्या हल हो गई थी,

sudo apt-get remove node
sudo apt-get remove nodejs
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo ln -s /usr/bin/nodejs /usr/bin/node
alias node=nodejs
rm -r /usr/local/lib/python2.7/dist-packages/localstack/node_modules
npm install -g [email protected] || sudo npm install -g [email protected]

मैंने इसे अनलिंकिंग / usr / sbin / node (जो ax25-node पैकेज से जुड़ा हुआ है) को ठीक किया है, फिर मैंने कमांड लाइन पर इसका उपयोग करके नोडजेज़ का एक लिंक बनाया है

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

क्योंकि कर्मा जैसे पैकेज नोडजेस नाम के साथ काम नहीं करते हैं, हालांकि नोड से नोडजेस तक कर्म लिपि की पहली पंक्ति बदलते हैं, लेकिन मैं इस मुद्दे को एक बार और सभी के लिए हल करना पसंद करता हूं


यह आपका नोड ठीक से स्थापित नहीं है, सबसे पहले आपको नोड को अनइंस्टॉल करने की आवश्यकता है और फिर इंस्टॉल करें। नोड स्थापित करने के लिए यह आपकी मदद कर सकता है http://array151.com/blog/nodejs-tutorial-and-set-up/

इसके बाद आप आसानी से पैकेज स्थापित कर सकते हैं। पैकेज स्थापित करने के लिए यह आपकी मदद कर सकता है

http://array151.com/blog/npm-node-package-manager/


यहां एक और दृष्टिकोण है जिसका उपयोग मैं नोड संस्करणों के बीच आसान स्विचिंग के लिए n पसंद करता हूं।

एक नई उबंटू प्रणाली पर, पहले 'सिस्टम' नोड स्थापित करें:

curl -sL https://deb.nodesource.com/setup | sudo bash -

फिर विश्व स्तर पर एन मॉड्यूल स्थापित करें:

npm install -g n

चूंकि सिस्टम नोड पहले (ऊपर) स्थापित किया गया था, इसलिए विकल्प प्रणाली का उपयोग एन द्वारा प्रदान किए गए नोड को स्पष्ट रूप से इंगित करने के लिए किया जा सकता है। सबसे पहले सुनिश्चित करें कि विकल्प सिस्टम में नोड के लिए कुछ भी नहीं है:

update-alternatives --remove-all node

फिर एन द्वारा प्रदान नोड जोड़ें:

update-alternatives --install /usr/bin/node node /usr/local/bin/node 1

अगला सिस्टम द्वारा प्रदान किया गया नोड जोड़ें (वह कर्ल के साथ स्थापित किया गया था):

update-alternatives --install /usr/bin/node node /usr/bin/nodejs 2

अब इंटरैक्टिव मेनू का उपयोग करके एन द्वारा प्रदत्त नोड का चयन करें (निम्न आदेश द्वारा प्रस्तुत मेनू से चुनें /usr/local/bin/node ):

update-alternatives --config node

अंत में, चूंकि /usr/local/bin आमतौर पर /usr/bin से PATH में उच्च प्राथमिकता है, तो निम्न उपनामों को बनाया जाना चाहिए (अपने .bashrc या .zshrc में दर्ज करें) यदि विकल्प सिस्टम नोड प्रभावी होना है; अन्यथा n / usr / local / bin में एन के साथ स्थापित नोड हमेशा प्राथमिकता लेता है:

alias node='/usr/bin/node'

अब आप n <desired node version number> साथ आसानी से नोड संस्करणों के बीच स्विच कर सकते हैं।


लिनक्स मिंट 17 पर, मैंने सफलता के बिना दोनों समाधान (एक nodejs-legacy या nodejs-legacy पैकेज का उपयोग करना) की कोशिश की।

अंततः मेरे लिए काम करने वाली एकमात्र चीज क्रिस ली से पीपीए का उपयोग कर रही थी:

sudo apt-get purge node-*
sudo apt-get autoremove 
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

यह स्थापित नोड संस्करण 10.37 और एनपीएम 1.4.28 स्थापित किया गया। उसके बाद, मैं वैश्विक स्तर पर पैकेज स्थापित कर सकता था।


समस्या इंस्टॉलर में नहीं है
नोड के साथ नोडजेस को प्रतिस्थापित करें या पथ को / usr / bin / nodejs से / usr / bin / node में बदलें


here से सरल समाधान

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash --
sudo apt-get install nodejs

आप setup_x.x मान को बदलकर संस्करण निर्दिष्ट कर सकते हैं, उदाहरण के लिए setup_5.x पर


sudo apt-get --purge remove node
sudo apt-get --purge remove nodejs-legacy
sudo apt-get --purge remove nodejs

sudo apt-get install nodejs-legacy
source ~/.profile

उस टिप्पणी से source ~/.profile साथ स्वीकृत उत्तर को जोड़ दिया गया है और कुछ पहले आदेशों को साफ़ कर दिया गया है। सबसे अधिक संभावना है कि आपको बाद में sudo apt-get install npm करने की आवश्यकता होगी।





npm