Düğüm Sürümü Yöneticisi yükleme - nvm komutu bulunamadı


304

Bu talimatlara göre NVM'yi yüklemeye çalışıyorum

Terminalde bu komutu yazdım:

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

Yüklemeyi çalıştırdıktan sonra terminali yeniden başlatıyorum ve Node.js'yi bu komutla yüklemeye çalışıyorum:

$ nvm install 0.8

ama cevabı alıyorum:

-bash: nvm: command not found

Burada neyi yanlış yaptığımdan emin değilim.

İlave bilgi--

Diğer yayınlardan ve forumlardan çözümler arıyordum. Kullanarak başka bir çözüm buldum

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

ama bunu her denediğimde zaman aşımına uğruyor. Herhangi bir yardım mutluluk duyacağız. Teşekkürler.

Yanıtlar:


370

Senin Kontrol .bash_profile, .zshrcya .profiledosyayı. Yükleme sırasında büyük olasılıkla bir sorunla karşılaştınız.

Bu dosyalardan birinin sonunda aşağıdakilere sahip olmalısınız.

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

İle . $HOME/.nvm/nvm.shaynısource $HOME/.nvm/nvm.sh

Bkz. Dosya Satın Alma

Bir .nvmklasörünüz olup olmadığını da kontrol edebilirsiniz .

ls -a | grep .nvm

Bu klasörü kaçırırsanız, yükleme git komutunu çalıştıramadı. Bunun nedeni proxy'nin arkasında olması olabilir. Bunun yerine aşağıdakileri çalıştırmayı deneyin.

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

2
.nvmBir dizin olmalıdır. Aşağıdaki komutla yüklenir git clone git://github.com/creationix/nvm.git $NVM_TARGET. Daha önce bu komutu kendiniz çalıştırmayı denediğinizi ve başarısız olduğunu söylemiştiniz? Büyük olasılıkla bir proxy'nin arkasındasınız ve muhtemelen yapılandırılmamışsınız. Bunun yerine takipçiyi çalıştırmayı deneyin. git clone http://github.com/creationix/nvm.git .nvm
travis

21
Ayrıca bir çizgi var, ama 'kaynak ~ / .nvm / nvm.sh' çalışıyor
K - SO toksisitesi artıyor.

2
.Nvm klasörü boşsa, bunun nedeni büyük olasılıkla xcode anlaşma lisansı kabul edilmediğinden repo getirilememiş olmasıdır. sudo xcodebuild -licenseLisansı çalıştırmak ve kabul etmek (lisansın spacesonuna gelmek ve şartlarını kabul etmek için iterek ) hile yapar.
Pierre Criulanscy

4
Ayrıca gerekebilir source .bashrcveya source .profilebağlı olabilir
Henry Tseng

1
Neredeyse her zaman bu dosyalar ana sayfanızda bulunur. source $HOME/.bashrcVb
, Travis

636

Sanırım bu adımı kaçırdınız:

source ~/.nvm/nvm.sh

Bu komutu bash üzerinde çalıştırabilirsiniz VEYA otomatik olarak yüklemek için /.bashrc veya ~ / .profile veya ~ / .zshrc dosyasına koyabilirsiniz.

https://github.com/creationix/nvm


5
Belgeleri daha iyi hale getirelim. Nvm repo ile ilgili bir sorun oluşturdum: github.com/creationix/nvm/issues/748
Jonny Burger

3
Sonunda benim .bashrc koymak kadar ben defalarca el ile yürüttüm!
Brady Dowling

2
Bu benim için çalıştı ama otomatikleştirmek için önce profil oluşturmak zorunda kaldı. "~ / .profile", "open ~ / .profile" ye dokunun, yukarıya yapıştırın, kaydedin + kapatın. şimdi yeni pencerelerde çalışıyor
Sonic Soul

6
Eklemeden ~/.bash_profilebenim için çalıştı neydi
spencer.sm

6
Bu benim için çalıştı. Eklediğim source ~/.nvm/nvm.shkardeşime karşı ~/.zshrcve şimdi nvmher zaman çalışır
Eddy Vinck

88

Bu benim için çalışıyor:

  1. Yüklemeden önce nvmbunu terminalde çalıştırın:touch ~/.bash_profile

  2. Sonra bunu terminalde çalıştırın:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

  3. Önemli ... - Terminalinizi yeniden başlatmayı VEYA komutunu kullanmayı unutmayın source ~/.nvm/nvm.sh(bu, sistem yolunuzdaki kullanılabilir komutları yeniler).

  4. Terminalde, komutunu kullanın nvm --versionve sürümü görmelisiniz


8
3) Terminal Key bileşeninizi yeniden başlatmayı unutmayın! Bu yüzden benimki çalışmıyordu. Teşekkürler
Sebastian

1
Bir "Terminal Anahtar bileşenlerini nasıl yeniden başlatır"?
Edward

46

source ~/.nvm/nvm.sh Bu satırı ~ / .bashrc, ~ / .profile veya ~ / .zshrc dizinine ekleyin


4
bu, birden fazla mermi veya mermi seansı boyunca süren "kalıcı" çözümdür.
ahnbizcad

İşe yarayacak tek cevap bu. Terminalin çoklu açılmasından sonra bile. Son olarak, bunu
yaptıktan

40

Hızlı cevap

Aşağıdakileri anlayın:

  1. Terminalinizi hangi kabuk kullanıyor, echo $0bulmak için : yazın (normalde çalışır)
  2. Hangi başlangıç ​​dosyası başlatma sırasında bu kabuk yükünü yapar ( giriş kabuğu başlangıç ​​dosyası , normal kabuk başlangıç ​​dosyası DEĞİLDİR , bir fark vardır!)
  3. source ~/.nvm/nvm.shBu dosyaya ekleyin (dosyanın o konumda olduğunu varsayarsak, varsayılan yükleme konumudur)
  4. Yeni bir terminal oturumu başlat
  5. Kar?

Misal

Gördüğünüz gibi belirtiyor zshve değil bash. resim açıklamasını buraya girin

Bunu düzeltmek source ~/.nvm/nvm.shiçin ~/.zshrcdosyaya yeni bir terminal başlatırken eklemek zorunda kaldım, Deepin Terminali zsh okh'ları okuyor ~/.zshrcve bashs değil ~/.bashrc.

Bu neden oluyor

Bunun nedeni ~/.bashrc, NVM'yi yüklerken , terminal Deepin Terminalimin kullandığı zshve bashasla okumadığı ve NVM'yi asla yüklemediği için kod eklediği için olur ~/.bashrc.

Başka bir deyişle: Bu NVM hatasıdır.

Daha fazla zshbilgiyi buradaki cevaplardan birinde okuyabilirsiniz .


basitçe curl komutunun sonuna zsh koyabilirsiniz. örneğin: curl raw.github.com/creationix/nvm/master/install.sh | zsh
Prabhakar

22

MacOS, ben source ~/.nvm/nvm.shbu sorunu çözmek için komut kullanarak kaynak vardı .

Bundan sonra, bu satırları ekleyin

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

üzerine ~/.bash_profileo nvm giriş üzerine otomatik kaynaklı olacaktır böylece.


11

Bu soruların tüm cevapları faydalıdır. Özellikle Travis'in verdiği cevap bana yardımcı oldu. Mac OS X kullanıcıları için, Node Version Manager aka nvm'nin yeni kurulumuyla çalışmalarına yardımcı olacak bazı adımlar sağlamak istiyorum.

Mac OS X'te NVM'yi yükleme ve kullanma

Yeni nvm kurulumu ve herhangi bir sorun olmadan kullanma adımları:

  • Homebrew'u buradan yükleyin .
  • Homebrew install nvm kullanma

    brew update brew install nvm

  • Konumda .nvmdizin oluşturun ~/.nvm.

    mkdir ~/.nvm

  • Şimdi .bash_profileOS X terminali için dosya ayarınız yoksa lütfen .bash_profilekök düzeyinde bir oluşturun:

    nano ~/.bash_profile

  • Kodun altına yapıştırın ve dosyayı kaydetmek için enter .bash_profiletuşuna CTRL + Obasın .bash_profile. CTRL + XEditörden çıkmak için basın :

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

  • Şimdi oldukça ( CMD + Q) terminal veya .bash_profileayarları yüklemek için aşağıdaki komutu çalıştırın :

    source ~/.bash_profile

  • Şimdi nvm lsyüklü tüm nodejs sürümlerinin listesini almak için command komutunu çalıştırın .


Teşekkürler, sanırım benim için kaçırılanlar .nvmdizini oluşturmaktı .
icarovirtual

11

Önce ~ / .bashrc dosyasına aşağıdaki satırları ekleyin

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

sonra terminali açın ve nvm.sh betiğini kaynaklayın

source ~/.nvm/nvm.sh

8

OSX 10.15.0 Catalina (Kasım 2019'da piyasaya sürüldü) varsayılan kabuğu zsh olarak değiştirdi.

Varsayılan kabuk önceden bash'dı.

Nvm GitHub sayfasında verilen kurulum komutunun sonuna "zsh" eklemek için ayarlanması gerekiyor.

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

Not: .rczsh dosyasının önceden mevcut olduğundan emin olmanız gerekebilir :

touch ~/.zsrhrc

5

Doğrudan soruya bağlı değil, ancak benzer bir sorun olabilir, şu soruya bir göz atın: Yeni bash'tan nvm yürütülemiyor


İşte bu yazıda cevabım, sadece referans için:

Yeni bir bash örneğinden çalışıyorsanız ve ~ / .bashrc, ~ / .bash_profile, vb. Adresinizde başlatma koduna sahipseniz, koşullu olup olmadığını öğrenmek için bu başlatma dosyasını kontrol etmeniz gerekir.

Ubuntu 14'te:

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

6. satırda, bash "-i" (etkileşimli) bayrağıyla çalıştırılmazsa, yürütülmesi durdurulacaktır. Yani koşmanız gerekecek:

bash -i

Ayrıca, dosyanın sonunda bir

[ -z "$PS1" ] && return

Bu, $ PS1 seti ile çalıştırılmazsa (uzak bir ssh oturumunda olduğu gibi) yürütülmesini durduracaktır.

Env değişkenleri veya bayraklar eklemek istemiyorsanız, başlatma koşulunuzdan bu koşulları kaldırmanız gerekir.

Umarım bu yardımcı olur.


5

OS X kullanıyorsanız, yükleme komutunu çalıştırmadan önce .bash_profile dosyanızı oluşturmanız gerekebilir. Bunu benim için yaptı.

Profil dosyasını oluşturun

touch ~/.bash_profile

Kurulumu yeniden çalıştırın ve bu sefer çıktıda ilgili bir satır göreceksiniz.

=> /Users/{username {/bash_profile dosyasına kaynak dize ekleniyor

Profilinizi yeniden yükleyin (veya Terminal penceresini kapat / yeniden aç).

.  ~/.bash_profile

5

Mac OS için:

  1. Terminali Aç
  2. Çalıştırmak touch ~/.bash_profile
  3. Çalıştırmak vi ~/.bash_profile
  4. tip source ~/.nvm/nvm.sh
  5. Basın Shift + Escve yazın wqveenter
  6. Bitti.

Ubuntu 18.04'te sadece ihtiyacım vardı: 4. source ~ / .nvm / nvm.sh yazın ve çok teşekkür ederim!
Darnell Lynch

4

Aşağıdaki satırları dosyalara ekleyin ~/.bashrcve ~/.bash_profile:

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

ve terminali yeniden başlatın veya source ~/.bashrcya da yapın source ~/.bash_profile. Nvm için komut tamamlamaya ihtiyacınız varsa, satırı da ekleyin:

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

Yukarıdaki satırlarla birlikte ~/.bashrcve ~/.bash_profile.


4

MacOS için;

Terminalde Çalıştır>

open ~/.bash_profile

Tüm bunları yapıştır =

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

2

Nvm kurulum betiği varsayılan olarak cihazınıza başlatma kodu ekler. $HOME/.profile , yalnızca bir oturum açma kabuğu tarafından yüklenen (masaüstü ortamında hiçbir zaman oturum açma kabuğu göremeyebilirsiniz).

Giriş kabuğunuzdaki nvm komutu alt kabuklara yayılmaz (oturum açtıktan sonra konsol pencereleri ve IDE terminalleri gibi). Bu snippet $HOME/.bashrc, yalnızca etkileşimli bir kabuksa ve henüz yüklenmemişse nvm'yi yükler

# 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

Bunu $HOME/.bashrcdosyanıza koymak , bir gui'den bile ve nvm standart olmayan bir konuma kurulsa bile eksik nvm sorununu etkileşimli bash kabuklarında düzeltir.


2

Bu sorunu çözmüştüm.

  1. ~ / .bash_profile
  2. ~ / .bash_profile dosyasını açın
  3. yapıştırmakexport 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

Çünkü taşındığımda sorun düzeltildi

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

sonuna kadar .zshrc


1

Debian üzerinde, yanı sıra .bash_profile yukarıdaki satırlardan biri olarak aşağıdaki satırları eklemek söyledi. Ayrıca terminal tercihlerimi (Düzenle -> Profil Tercihleri ​​-> Komut) açmak ve 'Komutu giriş kabuğu olarak çalıştır' seçeneğini etkinleştirmek zorunda kaldım.

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

Düzenleme: Mac'te olanlar için macOS'un Terminal başlangıcında .bashrc okumadığını unutmayın, bu nedenle .bash_profile kullanmak tercih edilir. Buraya bakınız.


1

Benim durumum için, çünkü balık kullanıyorum . balık başlatmazsanız , sadece nvm yazın şimdi hata olmayacak.


Balıkları nasıl durdurdunuz ?
Matko

yazın exit @MobileDream.
JerryZhou

1

In Windows 8.1 x64aynı Benimle oldu ve şu mesajı aldı.

nvm install 8.3.0 bash: nvm: komut bulunamadı windows

Bu nedenle, aşağıdaki adımları izleyin veya doğrulayın.

İlk yüklemeden coreybutler/nvm-windowsitibaren github.com. Şu anda mevcut olan en son sürüm 1.1.5 nvm-setup.zip, daha sonra kurulumu çıkardı nvm-setup.exeve aşağıdaki konumlar olarak yükle:

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

bu arada kurulum ortam değişkenini Pathsizin için yukarıda belirtildiği gibi yönetecektir .

Şimdi Yönetici olarak çalıştırınGit Bash ve sonra.

$ 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)

burada önek kullanmadan komutunuzu çalıştırın, $burada bir komut satırı olarak belirlemek için burada gösterilir ve şimdi nvm sürümünü doğrulayacağız.

$ nvm --version
Running version 1.1.5.

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

nvmyüklemek için sorun nodeyaşıyorsanız, nodejsburadaki mevcut sürümlerin listesini görebilir https://nodejs.org/download/release/ve gereksinim sürümünüze göre doğru yükleyiciyi v6.3.0doğrudan eşit veya daha yüksek olarak seçebilirsiniz .


0

Benim için bu işe yaradı. Öncelikle dosyanın .bashrcaşağıdaki satıra sahip olup olmadığını kontrol edin

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

Şimdi bashrcher terminal oturumu için yüklenir. Bu nedenle terminali yeniden yüklenecek şekilde yeniden başlatın ve gitmek için iyi olmalısınız.


0

Ayrıca son zamanlarda aynı sorunla karşı karşıya ve kaynak ~ / .nvm / nvm.sh kullanarak nvm bash komut dosyası kaynak bu sorunu çözdü.


0

Aşağıdaki kodları kullanın

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash`
source ~/.nvm/nvm.sh`
nvm install 0.8

0

Birden fazla adım denedikten sonra, benim durumumda sorunun ne olduğundan emin değilim ama bunu çalıştırmak yardımcı oldu:

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

Tarafından doğrulanan nvm --version

nvm -v çıkışı

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.