Homebrew menginstal nvm tetapi nvm tidak dapat ditemukan setelahnya?


98

Saya menggunakan homebrewdan oh-my-zshmenginstal OSX 10.10.1 baru. Saya nvmdapat melalui homebrewdan kemudian mencoba untuk menjalankannya tetapi mengatakan - zsh: perintah tidak ditemukan: nvm

Tahu apa masalahnya? Saya dapat menginstal dan menggunakan git dengan baik ...

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini


DIPERBARUI 20/9/2019

Seperti yang dinyatakan oleh jawaban yang lebih baru dari DarkPurple141 dan Elise van Looij . nvmtampaknya tidak kompatibel dengan homebrew. Ini juga dinyatakan dalam repo nvm-sh resmi yang ada di sini .

Penginstalan homebrew tidak didukung. Jika Anda memiliki masalah dengan nvm yang diinstal homebrew, silakan bongkar instalasinya, dan instal menggunakan petunjuk di bawah ini, sebelum mengajukan masalah.

Catatan: Jika Anda menggunakan zsh, Anda dapat dengan mudah menginstal nvm sebagai plugin zsh. Instal zsh-nvm dan jalankan peningkatan nvm untuk meningkatkan.

Langkah-langkah berikut akan membantu:

  1. $ brew uninstall nvm
  2. $ brew cleanup(hanya untuk ukuran yang bagus)
  3. $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
  4. Periksa bahwa nvm telah diinstal dengan benar dengan menjalankan $ command -v nvm.

    4.a Jika responsnya selain $ nvm, tambahkan dua baris berikut ke file ~ / .bash-profile: export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh 4.b Restart komputer Anda (Anda dapat mencoba menutup Terminal dan memulai ulang terlebih dahulu) 4.c ​​$ command -v nvm should now returnnvm`

  5. Sekarang perbarui Node.js dengan $ nvm install --lts

  6. Perbarui npm: $ nvm install-latest-npm
  7. $ npm install --global mocha. Akhirnya, sukses! Nah, untuk saya dan saya berharap untuk Anda juga.

3
Apakah tetap ada jika Anda memulai ulang Terminal?
Aaron Brager

Coba ketik rehash atau buka shell baru. Terkadang zsh tidak mengambil tambahan.
Doon

Saya telah menutup cangkang, sistem reboot dan tidak ada. Apakah mengulang dan tidak berhasil.
Dayan

Bagaimana dengan brew link nvm apakah itu melakukan sesuatu?
Doon

Peringatan: Sudah ditautkan: /usr/local/Cellar/nvm/0.20.0 Untuk menautkan ulang: brew unlink nvm && brew link nvm
Dayan

Jawaban:


129

Apakah Anda mengikuti instruksi yang tercantum dalam peringatan?

[~] brew info nvm
nvm: stable 0.20.0, HEAD
https://github.com/creationix/nvm
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/nvm.rb
==> Caveats
Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell's
equivalent configuration file:

  source $(brew --prefix nvm)/nvm.sh

Node installs will be lost upon upgrading nvm. Add the following above
the source line to move install location and prevent this:

  export NVM_DIR=~/.nvm

Tanpa konfigurasi tambahan, sepertinya NVM tidak akan menemukan NVM secara default ..


3
Terima kasih atas perhatiannya Doon, saya tidak menyadarinya brew info, masih baru homebrew:) Ini berfungsi dengan baik sekarang setelah mengikuti langkah-langkah tersebut.
Dayan

Mereka juga harus ditampilkan setelah penginstalan selesai. Tetapi jika Anda tidak mencari mereka, mereka bisa terlewatkan.
Doon

4
Saya harus menambahkan ini untuk ~/.bash_profilemembuatnya berfungsi: /
Janaka

1
hmm. Saya tidak menggunakan bash (lebih suka zsh), tetapi sepertinya OSX terminal.app (saya juga tidak menggunakan terminal, lebih suka Iterm2), membuka setiap shell sebagai shell login jadi ya .bash_profile akan benar dalam kasus itu. .juga infonya telah berubah. jadi Anda harus merujuk ke versi terbaru ..
Doon

Terima kasih! Saya melewatkan baris ini source $(brew --prefix nvm)/nvm.sh. Menambahkannya ke .zshrh saya
John Ottenlips

43

Ada DUA hal yang perlu Anda lakukan. Ikuti peringatan yang ditunjukkan setelah menginstal nvm melalui brew, dan KEMUDIAN Anda perlu mengaktifkan / memuat ulang perubahan .bash_profile.

  1. Lari brew install nvm
  2. Ikuti peringatan yang ditunjukkan di konsol, milik saya adalah sebagai berikut, milik Anda MUNGKIN berbeda !:

Tambahkan berikut ini ke ~ / .bash_profile atau file konfigurasi shell yang Anda inginkan:

export NVM_DIR="$HOME/.nvm"
. "$(brew --prefix nvm)/nvm.sh"
  1. Jalankan . ~/.bash_profileuntuk menerapkan perubahan yang Anda buat pada file .bash_profile Anda

Ini berguna untuk pengguna Bash, tetapi OP ada di zsh. Saya kira hal yang sama berlaku untuk .zshrcmodifikasi yang diperlukan.
tripleee

5

Meskipun jawaban yang diterima secara teknis berfungsi, perlu dicatat bahwa instalasi Homebrew tidak secara resmi didukung oleh nvmpaket tersebut. Cara yang disarankan untuk menghindari masalah seperti yang dikemukakan di atas adalah dengan menerapkan salah satu metode instalasi di bawah ini.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

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

sumber: https://github.com/creationix/nvm


3

Saya telah menghabiskan beberapa jam berputar-putar tentang masalah ini, tetapi saya sampai pada kesimpulan bahwa DarkPurple141 benar: nvm tidak kompatibel dengan Homebrew, karena mereka menyatakan di Github mereka nvm-sh / nvm Node Manajer Versi . Homebrew akan menginstal nvm dan semuanya terlihat baik-baik saja, sampai seseorang mencoba mendapatkan npm untuk menginstal modul, Mocha dalam kasus saya. Itu membuat saya kembali ke kesalahan yang ditakuti:

BERBUAT SALAH! Kesalahan: EACCES: izin ditolak, akses '/ usr / local / lib / node_modules'

CATATAN: Pada langkah 3, pastikan untuk mengganti versi dengan rilis yang benar.

Solusinya, pada MacOS 10.14 Mojave, adalah:

  1. $ brew uninstall nvm
  2. $ brew cleanup(hanya untuk ukuran yang bagus)
  3. $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
  4. Periksa bahwa nvm telah diinstal dengan benar dengan menjalankan $ command -v nvm.

    4.a Jika responsnya selain $ nvm, tambahkan dua baris berikut ke file ~ / .bash-profile: export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh 4.b Restart komputer Anda (Anda dapat mencoba menutup Terminal dan memulai ulang terlebih dahulu) 4.c ​​$ command -v nvm should now returnnvm`

  5. Sekarang perbarui Node.js dengan $ nvm install --lts

  6. Perbarui npm: $ nvm install-latest-npm
  7. $ npm install --global mocha. Akhirnya, sukses! Nah, untuk saya dan saya berharap untuk Anda juga.

1

Untuk menginstal nvm, brew install nvm

Untuk menjalankan nvm setelah instalasi atau hanya sekali, $(brew --prefix nvm)/nvm.sh

Untuk menjalankan nvm setiap kali zshterbuka

  1. nano ~/.zshrc
  2. Tambahkan baris ini source $(brew --prefix nvm)/nvm.sh

1

Saya ingin menambahkan bahwa lokasi nvm di github berubah dan versinya berubah. Perintah curl sekarang harus:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash

0

Alasan Anda perlu memuat ulang profil bash atau file bash lainnya mungkin karena perintah nvm mungkin bukan program tetapi fungsi yang ditentukan dan hanya dapat digunakan jika file bash yang sesuai bersumber.

Pada sistem yang saya periksa

which nvm 

tidak bekerja tapi

nvm list

tidak. Ini berarti Anda dapat menggunakan kata "nvm" untuk memanggil sesuatu. Sesuatu itu bukanlah sebuah program. Dalam kasus saat ini, ini adalah fungsi yang dapat diverifikasi oleh

typeset -F | grep -P ' nvm$'

keluaran yang mana

declare -F nvm

yang artinya nvm adalah suatu fungsi, yang tubuhnya dapat diperiksa dengan melakukan

type -F nvm

1
Bagus .. Tapi, bagaimana ini jawabannya?
Dayan

1
Terima kasih atas pembaruannya Dayan - mengedit jawabannya - alasan mengapa saya tidak dapat menemukannya karena saya mengandalkannya sebagai program tetapi itu didefinisikan sebagai fungsi. Ingin menyoroti itu.
Saurabh Hirani

Untuk memeriksa apakah nvm telah diinstal dengan benar, gunakan 'perintah -v nvm' di Terminal. Responsnya harus 'nvm'. Jika tidak, ikuti petunjuk di github.com/nvm-sh/nvm#installation-and-update .
Elise van Looij

0

Salah satu kemungkinan jika brewdigunakan adalah nvmmungkin tidak ditautkan, terutama jika diinstal oleh pengguna MAC OS lain.

Dalam kasus ini, jalankan:

brew link nvm


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.