नोड संस्करण प्रबंधक स्थापित करें - एनवीएम कमांड नहीं मिला


303

मैं इन निर्देशों के अनुसार एनवीएम स्थापित करने का प्रयास कर रहा हूं

मैंने टर्मिनल में इस कमांड में टाइप किया:

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

इंस्टॉल चलाने के बाद, मैं टर्मिनल को पुनरारंभ करता हूं और इस कमांड के साथ Node.js स्थापित करने का प्रयास करता हूं:

$ nvm install 0.8

लेकिन मुझे प्रतिक्रिया मिल रही है:

-bash: nvm: command not found

मुझे यकीन नहीं है कि मैं यहां क्या गलत कर रहा हूं।

अतिरिक्त जानकारी--

मैं अन्य पदों और मंचों से समाधान के लिए देख रहा हूँ। मैं एक और समाधान का उपयोग कर पाया

$ git clone git://github.com/creationix/nvm.git ~/.nvm

लेकिन इस बार हर बार मैं यही कोशिश करता हूं। किसी भी सहायता की सराहना की जाएगी। धन्यवाद।

जवाबों:


369

अपने , या .bash_profile, की जाँच करें.zshrc.profile फ़ाइल की । स्थापना के दौरान आपको सबसे अधिक समस्या थी।

आपको उन फ़ाइलों में से एक के अंत में निम्नलिखित होना चाहिए।

[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh  # This loads NVM

के . $HOME/.nvm/nvm.shरूप में ही हैsource $HOME/.nvm/nvm.sh

देखें: एक फ़ाइल सोर्सिंग

आप यह देखने के लिए भी जांच सकते हैं कि आपके पास कोई .nvmफ़ोल्डर है या नहीं।

ls -a | grep .nvm

यदि आप उस फ़ोल्डर को याद कर रहे हैं, तो संस्थापन git कमांड को चलाने में विफल रहा। यह प्रॉक्सी के पीछे होने के कारण हो सकता है। इसके बजाय निम्नलिखित को चलाने का प्रयास करें।

git clone http://github.com/creationix/nvm.git .nvm

2
.nvmएक निर्देशिका होना चाहिए। यह निम्न कमांड के माध्यम से स्थापित है git clone git://github.com/creationix/nvm.git $NVM_TARGET। आपने पहले कहा था कि आपने उस आदेश को स्वयं चलाने का प्रयास किया और यह विफल हो गया? सबसे अधिक संभावना है कि आप एक प्रॉक्सी के पीछे हैं और शायद कॉन्फ़िगर नहीं हैं। इसके बजाय फॉलो करने की कोशिश करें। git clone http://github.com/creationix/nvm.git .nvm
ट्रैविस

21
लाइन भी है, लेकिन 'स्रोत ~ / .nvm / nvm.sh' काम करता है
K - SO में विषाक्तता बढ़ रही है।

2
यदि .nvm फोल्डर खाली है, तो शायद ऐसा इसलिए है क्योंकि xcode एग्रीमेंट लाइसेंस स्वीकार नहीं किए जाने के कारण रेपो की खरीद फेल हो गई है। sudo xcodebuild -licenseलाइसेंस को चलाना और स्वीकार करना (लाइसेंस spaceके अंत तक पहुंचने के लिए धक्का देना और अपनी शर्तों से सहमत होना) की कोशिश करता है।
पियरे क्रिएन्ससी

4
तुम भी करना पड़ सकता है source .bashrcया source .profileनिर्भर करता है
हेनरी त्सेंग

1
लगभग हमेशा वे फाइलें आपके घर में मौजूद होंगी। source $HOME/.bashrc, आदि
ट्रैविस

633

मुझे लगता है कि आप इस कदम से चूक गए:

source ~/.nvm/nvm.sh

आप इस कमांड को बैश पर चला सकते हैं या आप इसे फ़ाइल /.bashrc या ~ / .prof या या ~ / .zshrc में स्वचालित रूप से लोड करने के लिए रख सकते हैं।

https://github.com/creationix/nvm


5
डॉक्यूमेंट को बेहतर बनाते हैं। मैंने nvm रेपो पर एक मुद्दा बनाया है: github.com/creationix/nvm/issues/748
जॉनी बर्गर

3
मैंने इसे कई बार मैन्युअल रूप से निष्पादित किया जब तक कि मैं अंत में इसे अपने .bashrc में नहीं डाल दिया!
ब्रैडी डोलिंग

2
यह मेरे लिए काम करता है लेकिन इसे स्वचालित करने के लिए मुझे पहले प्रोफाइल बनाना पड़ता था। "टच ~ /। प्रॉफाइल", "ओपन ~ /। प्रॉफाइल", ऊपर पेस्ट, सेव + पास। नई विंडो में अब काम करता है
सोनिक सोल

6
इसे जोड़ने से ~/.bash_profileमेरे लिए क्या काम हुआ
spencer.sm

6
इसने मेरे लिए काम किया। मैंने source ~/.nvm/nvm.shअपने साथ जोड़ा ~/.zshrcऔर अब nvmहर बार काम करता है
एडी विनक

88

यह मेरे लिए काम करता है:

  1. स्थापित करने से पहले nvm, इसे टर्मिनल में चलाएं:touch ~/.bash_profile

  2. टर्मिनल में इसे चलाने के बाद:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

  3. महत्वपूर्ण ... - के लिए मत भूलना पुन: प्रारंभ करें अपने टर्मिनल या उपयोग कमांड source ~/.nvm/nvm.sh(यह आपके सिस्टम पथ में उपलब्ध आदेशों ताज़ा होगी)।

  4. टर्मिनल में, कमांड का उपयोग करें nvm --versionऔर आपको संस्करण देखना चाहिए


8
3) अपने टर्मिनल कुंजी घटक को पुनरारंभ करने के लिए मत भूलना! इसलिए मेरा काम नहीं कर रहा था। धन्यवाद
सेबस्टियन 1

1
कैसे एक "पुनरारंभ करें [उनके] टर्मिनल कुंजी घटक"?
एडवर्ड

46

source ~/.nvm/nvm.sh इस लाइन को ~ / .bashrc, ~ / .profile, या ~ / .zshrc में जोड़ें


4
यह "स्थायी" समाधान है जो कई गोले या शेल सत्र में रहता है।
अहानिबेकाड

यह एकमात्र उत्तर है जो काम करेगा। टर्मिनल के कई बार खुलने के बाद भी। अंत में, एक बार ऐसा करने के बाद आप अपने टर्मिनल को पुनः आरंभ करना न भूलें :)
coderpc

40

शीघ्र जवाब

निम्नलिखित चित्र देखें:

  1. आपका टर्मिनल किस शेल का उपयोग कर रहा है, इसमें टाइप करें: echo $0 यह जानने के लिए (सामान्य रूप से काम करता है)
  2. कौन सी स्टार्ट-अप फ़ाइल शुरू होने पर उस शेल लोड को करती है ( लॉगिन शेल शुरू करने वाली फ़ाइल नहीं है , सामान्य शेल शुरू करने वाली फ़ाइल में अंतर है!)
  3. source ~/.nvm/nvm.shउस फ़ाइल में जोड़ें (यह मानकर कि फ़ाइल उस स्थान पर मौजूद है, यह डिफ़ॉल्ट इंस्टॉल स्थान है)
  4. एक नया टर्मिनल सत्र शुरू करें
  5. फायदा?

उदाहरण

जैसा कि आप देख सकते हैं कि यह राज्यों zshऔर नहीं bashयहां छवि विवरण दर्ज करें

इसे ठीक करने के लिए मुझे एक नया टर्मिनल शुरू source ~/.nvm/nvm.shकरने की जरूरत है ~/.zshrcजब एक नया टर्मिनल मेरा दीपिन टर्मिनल zsh पढ़ता है ~/.zshrcऔर बैश नहीं ~/.bashrc

ऐसा क्यूँ होता है

ऐसा इसलिए होता है क्योंकि NVM स्थापित करते समय यह कोड जोड़ता है ~/.bashrc, जैसा कि मेरा टर्मिनल दीपिन टर्मिनल उपयोग करता है zshऔर न bashकि यह कभी नहीं पढ़ता है ~/.bashrcऔर इसके बाद कभी भी NVM को लोड नहीं करता है।

दूसरे शब्दों में: यह एनवीएम की गलती है।

zshयहाँ एक उत्तर पर और अधिक पढ़ा जा सकता है


आप बस कर्ल कमांड के अंत में zsh डाल सकते हैं। उदा: curl raw.github.com/creationix/nvm/master/install.sh | zsh
प्रभाकर

22

MacOS में, मुझे इसका उपयोग करके स्रोत बनाना था source ~/.nvm/nvm.sh इस समस्या को ठीक करने के लिए कमांड का ।

उसके बाद, इन लाइनों को जोड़ें

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

~/.bash_profileऐसा करने पर nvm लॉगिन करने पर स्वतः ही चालू हो जाएगा।


11

इस प्रश्न के सभी उत्तर उपयोगी हैं। विशेष रूप से ट्रैविस द्वारा दिए गए उत्तर ने मेरी मदद की। मैक ओएस एक्स उपयोगकर्ताओं के लिए मैं कुछ कदम प्रदान करना चाहूंगा जो उन्हें नोड संस्करण प्रबंधक उर्फ ​​एनवीएम की नई स्थापना के साथ काम करने में मदद करेंगे।

मैक ओएस एक्स पर एनवीएम स्थापित करना और उपयोग करना

यहाँ nvm की ताज़ा स्थापना और बिना किसी समस्या के उपयोग के चरण दिए गए हैं:

  • यहां से होमब्रे स्थापित करें
  • होमब्रे का उपयोग करके एनवीएम स्थापित करें

    brew update brew install nvm

  • स्थान .nvmपर निर्देशिका बनाएँ ~/.nvm

    mkdir ~/.nvm

  • अब यदि आपके पास .bash_profileOS X टर्मिनल के लिए फाइल सेटअप नहीं है तो कृपया .bash_profileरूट स्तर पर बनाएं :

    nano ~/.bash_profile

  • कोड में नीचे पेस्ट करें .bash_profileऔर फाइल CTRL + Oसेव करने के लिए एंटर दबाएं .bash_profileCTRL + Xसंपादक से बाहर निकलने के लिए दबाएँ :

    export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh

  • अब या तो काफी ( CMD + Q) टर्मिनल या .bash_profileसेटिंग्स को लोड करने के लिए कमांड के नीचे चलाएँ :

    source ~/.bash_profile

  • अब nvm lsसभी स्थापित नोडज संस्करण की सूची प्राप्त करने के लिए कमांड चलाएं।


धन्यवाद, मुझे लगता है कि जो मेरे लिए याद किया गया वह .nvmनिर्देशिका बना रहा था ।
icarovirtual

11

पहले ~ / .bashrc फ़ाइल में निम्न पंक्तियाँ जोड़ें

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

फिर टर्मिनल खोलें और nvm.sh स्क्रिप्ट को स्रोत करें

source ~/.nvm/nvm.sh

8

OSX 10.15.0 कैटालिना (नवंबर 2019 को रिलीज़) ने डिफ़ॉल्ट शेल को zsh में बदल दिया।

डिफ़ॉल्ट शेल पहले बैश था।

Nvm GitHub पेज पर दिए गए इंस्टॉलेशन कमांड को अंत में "zsh" शामिल करने के लिए ट्वीक करने की आवश्यकता है।

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | zsh

नोट: आपको यह सुनिश्चित करने की आवश्यकता हो सकती है कि .rczsh के लिए फ़ाइल पहले से मौजूद है:

touch ~/.zsrhrc

5

सीधे सवाल से जुड़ा नहीं है, लेकिन एक ऐसी ही समस्या है जो हो सकती है, इस सवाल पर एक नज़र डालें: नए bash से nvm निष्पादित नहीं कर सकते


यहाँ उस पोस्ट पर मेरा जवाब है, सिर्फ संदर्भ के लिए:

यदि आप एक नए बैश इंस्टेंस से चल रहे हैं, और आप अपने ~ / .bashrc, ~ / .bash_profile, आदि पर इनिशियलाइज़ेशन कोड रखते हैं, तो आपको सशर्तों के लिए इस इनिशियलाइज़ेशन फ़ाइल की जाँच करने की आवश्यकता है।

Ubuntu 14 पर, एक है:

case $- in
    *i*) ;;
      *) return;;
esac

लाइन 6 पर, यह रोक देगा यदि बैश को "-i" (इंटरैक्टिव) ध्वज के साथ नहीं चलाया जा रहा है। तो आपको चलाने की आवश्यकता होगी:

bash -i

इसके अलावा, फ़ाइल के अंत में, ए है

[ -z "$PS1" ] && return

यदि $ PS1 सेट (जैसे दूरस्थ ssh सत्र पर) के साथ नहीं चलाया जा रहा है, तो इसका निष्पादन रुक जाएगा।

यदि आप किसी env var या फ़्लैग को जोड़ना नहीं चाहते हैं, तो आपको अपनी इनिशियलाइज़ेशन फ़ाइल से उन कंडीशन को हटाने की आवश्यकता होगी।

आशा है कि सहायक होगा।


5

यदि आप OS X का उपयोग कर रहे हैं, तो आपको इंस्टॉलेशन कमांड चलाने से पहले अपनी .bash_profile फ़ाइल बनानी होगी। वो मेरे लिए किया गया।

प्रोफ़ाइल फ़ाइल बनाएँ

touch ~/.bash_profile

इंस्टॉल को फिर से चलाएं और आपको इस बार आउटपुट में एक प्रासंगिक रेखा दिखाई देगी।

=> स्रोत स्ट्रिंग को /Users/ellingusername Ideal/.bash_profile पर लागू करना

अपनी प्रोफ़ाइल पुनः लोड करें (या टर्मिनल विंडो को बंद / पुनः खोलें)।

.  ~/.bash_profile

5

Mac OS के लिए:

  1. टर्मिनल खोलें
  2. Daud touch ~/.bash_profile
  3. Daud vi ~/.bash_profile
  4. प्रकार source ~/.nvm/nvm.sh
  5. दबाएँ Shift + Escऔर टाइप करें wqऔर दबाएँenter
  6. किया हुआ।

Ubuntu 18.04 में, मुझे केवल जरूरत थी: 4. टाइप सोर्स ~ / .nvm / nvm.sh और बहुत-बहुत धन्यवाद!
डेरनेल लिंच

4

निम्न पंक्तियों को फ़ाइलों में जोड़ें ~/.bashrcऔर ~/.bash_profile:

# NVM changes
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

और टर्मिनल को पुनरारंभ करें या करें source ~/.bashrcया करें source ~/.bash_profile। यदि आपको nvm के लिए कमांड पूर्णता की आवश्यकता है तो लाइन भी जोड़ें:

[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

उपरोक्त लाइनों के साथ ~/.bashrcऔर ~/.bash_profile


4

MacOS के लिए;

टर्मिनल पर चलाएँ>

open ~/.bash_profile

इस सबको चिपकाएँ =

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

2

डिफ़ॉल्ट रूप से एनवीएम स्थापित स्क्रिप्ट आपके लिए इनिशियलाइज़ेशन कोड जोड़ता है $HOME/.profile , जो केवल एक लॉगिन शेल (एक डेस्कटॉप वातावरण में आप एक लॉगिन शेल नहीं देख सकते हैं) द्वारा लोड किया जाता है।

आपके लॉगिन शेल में एनवीएम कमांड उप-शेल (जैसे कि आप लॉग इन करने के बाद कंसोल विंडो और आईडीई टर्मिनल) के लिए प्रचारित नहीं किया जाता है। यह आपके स्निपेट $HOME/.bashrcकेवल nvm को लोड करेगा यदि यह एक इंटरेक्टिव शेल है और पहले से लोड नहीं किया गया है

# if nvm dir is not set and the standard nvm directory exists
if [ -z "$NVM_DIR" -a -d "$HOME/.nvm" ] ; then
# set nvm dir
  export NVM_DIR="$HOME/.nvm"
fi

# if nvm dir is set and this shell is interactive
if [ -d "$NVM_DIR" -a -n "$PS1" ] ; then
  # if nvm command is not defined
  if ! type -t nvm >/dev/null ; then
    # set it
    source "$NVM_DIR/nvm.sh"
  fi
fi

इसे अपनी $HOME/.bashrcफ़ाइल में रखने से एक bv से भी, इंटरैक्टिव bash गोले में गुम nvm समस्या ठीक हो जाएगी, और भले ही nvm गैर-मानक स्थान पर स्थापित हो।


2

मैंने इस समस्या को ठीक कर दिया था।

  1. स्पर्श ~ / .bash_profile
  2. खुला ~ / .bash_profile
  3. पेस्टexport NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

2

जब मैं स्थानांतरित हुआ तो इस मुद्दे को ठीक किया गया

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

के अंत तक .zshrc


1

डेबियन पर, साथ ही नीचे की पंक्तियों को मेरे .bash_profile में जोड़ने के रूप में उपरोक्त उत्तर में से एक ने कहा। मुझे अपनी टर्मिनल प्राथमिकताओं को भी खोलना था (संपादित करें -> प्रोफ़ाइल प्राथमिकताएं -> कमान) और इसे चलाने के लिए 'रन कमांड को एक लॉगिन शेल के रूप में सक्षम करें'।

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

संपादित करें: मैक पर उन लोगों के बारे में पता होना चाहिए जो macOS नहीं पढ़ते हैं। टर्मिनल प्रारंभ पर .ashrc, इसलिए .bash_profile का उपयोग करना बेहतर है। यहाँ देखें।


1

मेरे मामले के लिए, यह इसलिए है क्योंकि मैं मछली का उपयोग करता हूं । अगर मैं मछली शुरू नहीं करता हूं , तो बस एनवीएम अब कोई त्रुटि नहीं होगी।


आपने मछली को कैसे रोका ?
मटका

exit @MobileDream टाइप करें।
जेरीझोऊ

1

में Windows 8.1 x64एक ही मेरे साथ हुआ है, और निम्न संदेश प्राप्त किया।

nvm 8.3.0 bash स्थापित करें: nvm: कमांड विंडो नहीं मिली

तो, निम्न चरणों का पालन करें या सत्यापन करें-

पहली बार स्थापित coreybutler/nvm-windowsसे github.com। वर्तमान में उपलब्ध नवीनतम रिलीज 1.1.5 nvm-setup.zip, बाद में सेटअप निकाला nvm-setup.exeऔर निम्न स्थानों के रूप में स्थापित करें:

NVM_HOME    : C:\Users\Administrator\nvm
NVM_SYMLINK : C:\Program Files\nodejs

और इस बीच सेटअप पर्यावरण चर का प्रबंधन करेगा Pathजैसा कि आपके लिए ऊपर कहा गया है।

अब प्रशासक के रूप में चलाएंGit Bash और फिर।

$ nvm install 8.3.0 all

Downloading node.js version 8.3.0 (64-bit)...
Complete
Creating C:\Users\Administrator\nvm\temp

Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...

Installation complete. If you want to use this version, type

nvm use 8.3.0

$ nvm use 8.3.0
Now using node v8.3.0 (64-bit)

यहां उपसर्ग का उपयोग किए बिना अपनी कमांड चलाएं $, इसे केवल कमांड लाइन के रूप में निर्धारित करने के लिए यहां दिखाया गया है और अब हम एनवीएम संस्करण को सत्यापित करेंगे।

$ nvm --version
Running version 1.1.5.

Usage:
-----------------------

यदि आपको nvmइंस्टॉल करने में समस्या हो रही है node, तो आप nodejsयहां उपलब्ध रिलीज़ की सूची देख सकते हैं https://nodejs.org/download/release/और अपने आवश्यकता संस्करण के अनुसार सही इंस्टॉलर का चयन कर सकते हैं v6.3.0


0

मेरे लिए यह काम कर गया। पहले जाँच लें कि फ़ाइल .bashrcमें निम्न पंक्ति है

[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

अब bashrcप्रत्येक टर्मिनल सत्र के लिए लोड किया जाता है। इस प्रकार टर्मिनल को पुनरारंभ करें ताकि यह फिर से लोड हो जाए और आपको जाने के लिए अच्छा होना चाहिए।


0

मुझे हाल ही में इसी समस्या का सामना करना पड़ा और स्रोत ~ / .nvm / nvm.sh का उपयोग करके nvm bash स्क्रिप्ट सोर्सिंग ने इस समस्या को हल कर दिया।



0

कई चरणों की कोशिश करने के बाद, सुनिश्चित नहीं था कि मेरे मामले में क्या समस्या थी, लेकिन इसे चलाने से मदद मिली:

touch ~/.bash_profile
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

के द्वारा सत्यापित nvm --version

nvm -v आउटपुट

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