Instal Node Version Manager - perintah nvm tidak ditemukan

303

Saya mencoba menginstal NVM sesuai instruksi ini

Saya mengetikkan perintah ini di terminal:

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

Setelah menjalankan instalasi, saya me-restart terminal dan mencoba menginstal Node.js dengan perintah ini:

$ nvm install 0.8

tapi saya mendapat respons:

-bash: nvm: command not found

Saya tidak yakin apa yang saya lakukan salah di sini.

Informasi tambahan--

Saya telah mencari solusi dari posting dan forum lain. Saya menemukan solusi lain menggunakan

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

tapi ini keluar setiap kali saya mencoba itu. Bantuan apa pun akan dihargai. Terima kasih.

Yordania
sumber

Jawaban:

369

Periksa .bash_profile, .zshrcatau .profileberkas. Kemungkinan besar Anda memiliki masalah selama instalasi.

Anda harus memiliki yang berikut di akhir salah satu file tersebut.

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

Itu . $HOME/.nvm/nvm.shsama dengansource $HOME/.nvm/nvm.sh

Lihat: Sumber File

Anda juga dapat memeriksa untuk melihat apakah Anda memiliki .nvmfolder.

ls -a | grep .nvm

Jika Anda melewatkan folder itu maka instalasi gagal menjalankan perintah git. Ini bisa jadi karena berada di belakang proxy. Coba jalankan yang berikut ini sebagai gantinya.

git clone http://github.com/creationix/nvm.git .nvm
travis
sumber
2
The .nvmharus direktori. Itu diinstal melalui perintah berikut git clone git://github.com/creationix/nvm.git $NVM_TARGET. Anda mengatakan sebelumnya bahwa Anda mencoba menjalankan perintah itu sendiri dan gagal? Kemungkinan besar Anda berada di belakang proxy dan tidak terkonfigurasi. Coba jalankan tindak lanjutnya. git clone http://github.com/creationix/nvm.git .nvm
Travis
21
juga memiliki garis, tetapi 'source ~ / .nvm / nvm.sh' berfungsi
K - Keracunan dalam SO tumbuh.
2
Jika folder .nvm kosong itu mungkin karena pengambilan repo telah gagal karena lisensi perjanjian xcode tidak diterima. Menjalankan sudo xcodebuild -licensedan menerima lisensi (dengan mendorong spaceuntuk mencapai akhir lisensi dan menyetujui persyaratannya) melakukan trik.
Pierre Criulanscy
4
Anda mungkin juga perlu source .bashrcatau source .profiletergantung
Henry Tseng
1
Hampir selalu file-file itu ada di direktori home Anda. source $HOME/.bashrc, dll.
travis
634

Saya pikir Anda melewatkan langkah ini:

source ~/.nvm/nvm.sh

Anda dapat menjalankan perintah ini di bash ATAU Anda dapat meletakkannya di file /.bashrc atau ~ / .profile atau ~ / .zshrc untuk memuatnya secara otomatis

https://github.com/creationix/nvm

Deepak Lamichhane
sumber
5
Mari kita buat dokumentasi yang lebih baik. Saya telah membuat masalah pada repo nvm: github.com/creationix/nvm/issues/748
Jonny Burger
3
Saya melakukan ini secara manual beberapa kali sampai akhirnya saya masukkan ke dalam .bashrc saya!
Brady Dowling
2
ini bekerja untuk saya tetapi untuk mengotomatisasi saya harus membuat profil terlebih dahulu. "sentuh ~ /. profil", "buka ~ /. profil", rekatkan di atas, simpan + tutup. bekerja di jendela baru sekarang
Sonic Soul
6
Menambahkannya ~/.bash_profileadalah apa yang berhasil untuk saya
spencer.sm
6
Ini berhasil untuk saya. Saya menambahkan source ~/.nvm/nvm.shke saya ~/.zshrcdan sekarang nvmbekerja setiap saat
Eddy Vinck
88

Ini bekerja untuk saya:

  1. Sebelum menginstal nvm, jalankan ini di terminal:touch ~/.bash_profile

  2. Setelah itu, jalankan ini di terminal:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

  3. Penting ... - JANGAN lupa untuk me- restart terminal Anda ATAU menggunakan perintah source ~/.nvm/nvm.sh(ini akan menyegarkan perintah yang tersedia di jalur sistem Anda).

  4. Di terminal, gunakan perintah nvm --versiondan Anda akan melihat versinya

Alireza
sumber
8
3) Jangan lupa untuk me-restart komponen kunci terminal Anda! Itu sebabnya milikku tidak berfungsi. Terima kasih
Sebastian
1
Bagaimana cara "Mulai ulang komponen Kunci terminal [mereka]"?
Edward
46

source ~/.nvm/nvm.sh Tambahkan baris ini ke ~ / .bashrc, ~ / .profile, atau ~ / .zshrc

pengguna2015258
sumber
4
ini adalah solusi "permanen" yang berlangsung di beberapa shell atau sesi shell.
ahnbizcad
Ini satu-satunya jawaban yang akan berhasil. Bahkan setelah beberapa bukaan terminal. Terakhir, jangan lupa untuk me-restart terminal Anda setelah Anda melakukan ini :)
coderpc
40

Jawaban cepat

Cari tahu yang berikut:

  1. Shell yang digunakan terminal Anda, ketik: echo $0untuk mencari tahu (biasanya berfungsi)
  2. File start-up mana yang memuat shell saat memulai (BUKAN file masuk shell awal , file awal shell normal , ada perbedaan!)
  3. Tambahkan source ~/.nvm/nvm.shke file itu (dengan asumsi file itu ada di lokasi itu, itu adalah lokasi instal default)
  4. Mulai sesi terminal baru
  5. Keuntungan?

Contoh

Seperti yang Anda lihat itu menyatakan zshdan tidak bash. masukkan deskripsi gambar di sini

Untuk memperbaiki Aku ini diperlukan untuk menambahkan source ~/.nvm/nvm.shke ~/.zshrcfile sebagai ketika memulai terminal saya Terminal Deepin baru zsh membaca ~/.zshrcdan tidak bashs ~/.bashrc.

Mengapa ini terjadi?

Ini terjadi karena ketika menginstal NVM ia menambahkan kode ~/.bashrc, karena terminal saya menggunakan Terminal Deepin zshdan tidak bashpernah membaca ~/.bashrcdan karenanya tidak pernah memuat NVM.

Dengan kata lain: ini adalah kesalahan NVM.

Lebih lanjut zshdapat dibaca pada salah satu jawaban di sini .

K - Toksisitas dalam SO meningkat.
sumber
Anda cukup meletakkan zsh di akhir perintah curl. misalnya: curl raw.github.com/creationix/nvm/master/install.sh | zsh
Prabhakar
22

Di macOS, saya harus sumbernya menggunakan source ~/.nvm/nvm.shperintah untuk memperbaiki masalah ini.

Setelah itu, tambahkan baris ini

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

ke ~/.bash_profilesehingga nvm akan bersumber secara otomatis saat login.

hd84335
sumber
11

Semua jawaban untuk pertanyaan ini bermanfaat. Terutama jawaban yang diberikan oleh Travis membantu saya. Untuk pengguna Mac OS X saya ingin memberikan beberapa langkah yang akan membantu mereka untuk bekerja dengan instalasi baru Node Version Manager alias nvm.

Menginstal & menggunakan nvm di Mac OS X

Berikut adalah langkah-langkah untuk instalasi baru nvm dan menggunakannya tanpa masalah:

  • Instal homebrew dari sini .
  • Menggunakan homebrew install nvm

    brew update brew install nvm

  • Buat .nvmdirektori di ~/.nvmlokasi.

    mkdir ~/.nvm

  • Sekarang jika Anda tidak memiliki .bash_profilepengaturan file untuk terminal OS X maka silakan buat .bash_profiledi tingkat root:

    nano ~/.bash_profile

  • Rekatkan kode di bawah ini di .bash_profiledan tekan CTRL + Odan tekan enter untuk menyimpan .bash_profilefile. Tekan CTRL + Xuntuk keluar dari editor:

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

  • Sekarang cukup ( CMD + Q) terminal atau jalankan perintah di bawah ini untuk memuat .bash_profilepengaturan:

    source ~/.bash_profile

  • Sekarang jalankan nvm lsperintah untuk mendapatkan daftar semua versi nodejs yang diinstal.

S.Mishra
sumber
Terima kasih, saya pikir apa yang terlewatkan bagi saya adalah membuat .nvmdirektori.
icarovirtual
11

Pertama tambahkan baris berikut dalam file ~ / .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

kemudian buka terminal dan sumber skrip nvm.sh

source ~/.nvm/nvm.sh
KARTHIKEYAN.A
sumber
8

OSX 10.15.0 Catalina (dirilis November 2019) mengubah shell default menjadi zsh.

Shell default sebelumnya adalah bash.

Perintah instalasi yang diberikan pada halaman nvm GitHub perlu di-tweak untuk memasukkan "zsh" di akhir.

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

Catatan: Anda mungkin perlu memastikan .rcfile untuk zsh ada sebelumnya:

touch ~/.zsrhrc
Ben Aston
sumber
5

Tidak terhubung langsung ke pertanyaan, tetapi ada masalah serupa yang mungkin terjadi, lihat pertanyaan ini: Tidak dapat menjalankan nvm dari bash baru


Inilah jawaban saya pada posting itu, hanya untuk referensi:

Jika Anda menjalankan dari instance bash baru, dan Anda MEMILIKI kode inisialisasi di ~ / .bashrc, ~ / .bash_profile, dll, maka Anda perlu memeriksa file inisialisasi ini untuk persyaratan.

Di Ubuntu 14, ada:

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

Pada baris 6, itu akan menghentikan eksekusi jika bash tidak dijalankan dengan bendera "-i" (interaktif). Jadi, Anda perlu menjalankan:

bash -i

Juga, di akhir file, ada a

[ -z "$PS1" ] && return

Itu akan menghentikan eksekusi jika tidak dijalankan dengan set $ PS1 (seperti pada sesi ssh jarak jauh).

Jika Anda tidak ingin menambahkan env vars atau flag, Anda harus menghapus persyaratan tersebut dari file inisialisasi Anda.

Semoga bermanfaat.

Alan Sikora
sumber
5

Jika Anda menggunakan OS X, Anda mungkin harus membuat file .bash_profile Anda sebelum menjalankan perintah instalasi. Itu berhasil untuk saya.

Buat file profil

touch ~/.bash_profile

Jalankan kembali instalasi dan Anda akan melihat garis yang relevan di output saat ini.

=> Menambahkan string sumber ke / Pengguna /{username}/.bash_profile

Muat ulang profil Anda (atau tutup / buka kembali jendela Terminal).

.  ~/.bash_profile
Nicolas Bouliane
sumber
5

Untuk Mac OS:

  1. Buka Terminal
  2. Lari touch ~/.bash_profile
  3. Lari vi ~/.bash_profile
  4. Tipe source ~/.nvm/nvm.sh
  5. Tekan Shift + Escdan ketik wqdan tekanenter
  6. Selesai
Arjun Kesava
sumber
Di ubuntu 18.04, saya hanya perlu: 4. Ketik sumber ~ / .nvm / nvm.sh dan terima kasih banyak!
Darnell Lynch
4

Tambahkan baris berikut ke file ~/.bashrcdan ~/.bash_profile:

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

dan restart terminal atau lakukan source ~/.bashrcatau source ~/.bash_profile. Jika Anda membutuhkan penyelesaian perintah untuk nvm maka tambahkan juga baris:

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

Seiring dengan garis di atas ke ~/.bashrcdan ~/.bash_profile.

vantony
sumber
4

Untuk MacOS;

Jalankan di Terminal>

open ~/.bash_profile

Rekatkan semua ini =

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

Skrip instal nvm secara default menambahkan kode inisialisasi Anda $HOME/.profile, yang hanya dimuat oleh shell login (di lingkungan desktop Anda mungkin tidak pernah melihat shell login).

Perintah nvm di shell login Anda tidak disebarkan ke sub-shells (seperti jendela konsol dan terminal IDE setelah Anda masuk). Cuplikan ini di Anda $HOME/.bashrchanya akan memuat nvm jika itu adalah shell interaktif dan belum dimuat

# 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

Menempatkan ini di $HOME/.bashrcfile Anda akan memperbaiki masalah nvm yang hilang di shell bash interaktif, bahkan dari gui, dan bahkan jika nvm diinstal di lokasi yang tidak standar.

Warren MacEvoy
sumber
2

Saya telah memperbaiki masalah ini.

  1. sentuh ~ / .bash_profile
  2. buka ~ / .bash_profile
  3. tempelexport 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
ChenguangTian
sumber
2

Untuk masalah ini sudah diperbaiki ketika saya pindah

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

sampai akhir .zshrc

almeynman
sumber
1

Pada Debian, serta menambahkan baris di bawah ini ke .bash_profile saya sebagai salah satu jawaban di atas. Saya juga harus membuka preferensi terminal saya (Edit -> Preferensi Profil -> Perintah) dan aktifkan 'Jalankan perintah sebagai shell login' untuk membuatnya berfungsi.

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

Sunting: Bagi yang di Mac, ketahuilah bahwa macOS tidak membaca .bashrc di Terminal start, jadi menggunakan .bash_profile lebih disukai. Lihat disini.

tomhughes
sumber
1

Untuk kasus saya, itu karena saya menggunakan ikan . jika saya tidak memulai ikan , ketik saja nvm tidak akan ada kesalahan sekarang.

JerryZhou
sumber
Bagaimana Anda menghentikan ikan ?
Matko
ketik exit @MobileDream.
JerryZhou
1

Hal yang Windows 8.1 x64sama terjadi pada saya, dan menerima pesan berikut.

nvm instal 8.3.0 bash: nvm: perintah tidak ditemukan windows

Jadi, ikuti atau verifikasi langkah-langkah berikut di bawah ini-

instal coreybutler/nvm-windowsdari github.com. Rilis terbaru yang tersedia saat ini 1.1.5 nvm-setup.zip, kemudian mengekstraksi pengaturan nvm-setup.exedan menginstal sebagai lokasi berikut:

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

dan sementara itu pengaturan akan mengelola variabel lingkungan Pathseperti yang dikatakan di atas untuk Anda.

Sekarang jalankan Git Bashsebagai Administrator dan kemudian.

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

di sini jalankan perintah Anda tanpa menggunakan awalan $, itu hanya ditampilkan di sini untuk menentukannya sebagai baris perintah dan sekarang kami akan memverifikasi versi nvm.

$ nvm --version
Running version 1.1.5.

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

jika Anda memiliki masalah menggunakan nvmuntuk menginstal node, Anda dapat melihat daftar nodejsrilis yang tersedia di sini https://nodejs.org/download/release/dan memilih installer yang benar sesuai versi persyaratan Anda sama atau lebih tinggi daripada v6.3.0secara langsung.

ArifMustafa
sumber
0

Bagi saya ini berhasil. Pertama periksa apakah file .bashrcmemiliki baris berikut

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

Sekarang bashrcdimuat untuk setiap sesi terminal. Maka restart terminal sehingga dimuat kembali dan Anda harus baik untuk pergi.

priyankvex
sumber
0

Saya juga menghadapi masalah yang sama baru-baru ini dan sumber skrip nvm bash dengan menggunakan sumber ~ / .nvm / nvm.sh menyelesaikan masalah ini.

Wisnu Dubey
sumber
0

Gunakan kode berikut

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

Setelah mencoba beberapa langkah, tidak yakin apa masalahnya dalam kasus saya tetapi menjalankan ini membantu:

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

Diverifikasi oleh nvm --version

nvm -v keluaran

Mohammed Zameer
sumber