Setelah menggunakan sesi terminal baru di OS X, nvm
lupa versi node dan default ke nothing:
$ nvm ls
:
.nvm
v0.11.12
v0.11.13
Saya harus terus memukul nvm use v.0.11.13
di setiap sesi:
.nvm
v0.11.12
-> v0.11.13
Saya sudah mencoba keduanya brew
menginstal, serta skrip instalasi resmi.
Saya .profile
untuk versi buatan:
#nvm
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
Dan untuk skrip install.sh:
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.10.0/install.sh | bash
#nvm
export NVM_DIR="/Users/farhad/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
.bash_profile
dan bukan milik Anda.bashrc
Jawaban:
Coba
nvm alias default
. Sebagai contoh:$ nvm alias default 0.12.7
Ini menetapkan versi simpul default di shell Anda. Kemudian verifikasi bahwa perubahan berlanjut dengan menutup jendela shell, membuka yang baru, lalu:
node --version
sumber
$ nvm alias default 0.11.13
dan$ nvm use 0.11.12
, saya mengertinode --version = 0.11.12
. Namun, dalam sesi baru, simpul hilang lagi. Di debian, saya tidak memiliki masalah ini sama sekali.nvm alias defaul X
. Dengan penggunaan yang tepat itu benar-benar berfungsi. Jadi alur kerjanyanvm install X
saat itunvm alias default X
, saya kira. Terima kasih telah membantu!NVM_DIR
setelahnyanvm.sh
. Pastikan untuk mengeksporNVM_DIR
sebelumnya.nvm alias default
tidak mengatur versi simpul untuk lingkungan saat ini, hanya untuk semua yang baru..bash_profile
(atau.bashrc
atau apa pun) Anda, Anda tidak memiliki apa pun memodifikasiPATH
setelahsource xx/nvm.sh
Alias untuk
node
dirinya sendiri untuk menghindari memperbarui alias default bersama dengan pembaruan versi node nanti.sumber
node alias default stable
?stable
lagi. Dari nvm docs: "stable: alias ini sudah usang, dan hanya benar-benar berlaku untuk simpul v0.12 dan sebelumnya. Saat ini, ini adalah alias untuk simpul."node
standarnya? Node diinstal dan digunakan oleh NVM di shell saat ini, atau Node mungkin diinstal pada sistem oleh paket instalasi Node atau Homebrew dll?node
(danstable
, tetapi semua yang dirilis dalam semver stabil, jadi itu sekarang kata yang tidak berguna) menggunakan versi terbaru yang tersedia. Untuk perintah lokal, terinstal terbaru; untuk perintah jarak jauh, terbaru tersedia.Untuk menginstal versi stabil terbaru:
Untuk menetapkan default ke versi stabil (alih-alih versi tertentu):
Untuk daftar versi yang diinstal:
Pada
v6.2.0
, akan terlihat seperti:sumber
nvm list
membantu pengguna memvisualisasikan apa yang terjadi dengan versi mereka. Terima kasih!Dalam kasus saya, program lain telah menambahkan
PATH
perubahan ke.bashrc
Jika program lain mengubah inisialisasi
PATH
setelah nvm, makaPATH
perubahan nvm akan dilupakan, dan kita akan mendapatkan simpul sistem pada simpul kitaPATH
(atau tidak ada simpul).Solusinya adalah untuk memindahkan setup nvm ke bawah dari
.bashrc
Larutan:
(Ini dengan bash 4.2.46 di CentOS. Bagiku seperti bug di bash, tapi aku mungkin salah.)
sumber
nvm melakukan tugasnya dengan mengubah variabel PATH, jadi Anda perlu memastikan bahwa Anda tidak mengubah PATH Anda dengan sesuatu yang lain setelah sumber skrip nvm.sh.
Dalam kasus saya, nvm.sh dipanggil dalam .bashrc tetapi kemudian variabel PATH semakin diperbarui dalam .bash_profile yang menyebabkan sesi saya menemukan simpul sistem sebelum simpul nvm.
sumber
nvm alias default
dannvm use
ke versi yang saya butuhkan..bashrc
:export NVM_DIR="$HOME/.nvm"
kemudian. "/usr/local/opt/nvm/nvm.sh"
Solusi berperingkat teratas sepertinya tidak berfungsi untuk saya. Solusi saya di bawah ini:
brew uninstall nvm
brew install nvm
Di Terminal, ikuti langkah-langkah di bawah ini (ini juga terdaftar saat menginstal nvm melalui homebrew):
Langkah-langkah yang diuraikan di atas akan menambahkan direktori kerja NVM ke jalur $ HOME Anda, salin nvm-exec ke direktori kerja NVM dan tambahkan ke $ HOME / .bashrc, $ HOME / .zshrc, atau file konfigurasi setara shell Anda. (Kembali diambil dari whats terdaftar pada instalasi NVM menggunakan homebrew)
sumber
Jika Anda telah mencoba semuanya masih tidak berhasil Anda dapat mencoba ini: _
1 -> Copot NVM
2 -> Hapus dependensi npm dengan mengikuti ini
3 -> Instal NVM
4 -> Atur
~/.bash_profile
konfigurasiLari
sudo nano ~/.bash_profile
Salin dan tempel mengikuti ini
5 ->
CONTROL + X
simpan perubahan6 -> Jalankan
. ~/.bash_profile
7 -> Sekarang Anda harus sudah
nvm
menginstal pada mesin Anda, untuk menginstal node runnvm install v7.8.0
ini akan menjadi versi node default atau Anda dapat menginstal versi node apa punsumber
Pertanyaan ini telah disebutkan untuk OSX, tetapi itu terjadi pada saya di OS linux saya. Saya mencoba menggunakan
nvm alias default <version>
tetapi untuk setiap sesi terminal baru versi node yang digunakan dilupakan. jadi, inilah solusi yang saya temukan.pastikan untuk menetapkan alias default untuk versi simpul , masukkan kode berikut dalam .bashrc, dan
source .bashrc
.tautan solusi deskriptif
sumber
v
dalam versi saat mengatur remote. Misalnyav4.2.4
bukannya4.2.4
.Melakukan
nvm install 10.14
, misalnya, akannvm use
versi untuk sesi shell saat ini tetapi akan tidak selalu mengaturnya sebagai default untuk sesi masa depan seperti yang Anda harapkan. Versi simpul yang Anda dapatkan di sesi shell baru ditentukan olehnvm alias default
. Yang membingungkan,nvm install
hanya akan mengatur alias default jika belum disetel. Untuk mendapatkan perilaku yang diharapkan, lakukan ini:Ini akan memastikan bahwa versi itu diunduh, menggunakannya untuk sesi saat ini dan menjadikannya sebagai default untuk sesi mendatang.
sumber
jalankan ini setelah Anda menginstal versi apa pun,
Perintah ini menyalin versi node apa pun yang telah Anda aktifkan melalui nvm ke direktori / usr / local / dan mengatur izin sehingga semua pengguna dapat mengaksesnya.
sumber
&&
s alih-alih;
dalam perintah itu. Jikawhich
gagal menemukan simpul, kami tidak ingin melanjutkan ke chmod/bin/*
!Saya telah menemukan cara baru di sini. Menggunakan
n
Interactively Manage Your Node.js membantu.sumber
fish
shell, tetapi jawaban yang diterima tidak bekerja untuk saya.n
berhasil!Saya menggunakan ZSH jadi saya harus memodifikasi
~/.zshrc
dengan garis mengenai NVM dalam urutan itu:sumber
ketika kita menggunakan perintah di atas, hanya memperbarui versi node tetapi
npm
masih menggunakan versi yang lama.Berikut adalah solusi lain untuk memperbarui keduanya
node
dannpm
, dalam kasus saya saya ingin menggunakan simpul8.9.4
dan saya telah menggunakan perintah di bawah ini.Dan perintah mengembalikan output.
sumber
Jika Anda juga memiliki SDKMAN ...
Entah bagaimana SDKMAN bertentangan dengan NVM saya. Jika Anda kehabisan akal dan ini masih belum bisa dipecahkan, saya hanya memperbaikinya dengan mengabaikan "INI HARUS DI AKHIR FILE ..." dari SDKMAN dan meletakkan garis NVM setelahnya.
sumber
Saya menghadapi masalah yang sama saat menggunakan terminal terintegrasi dalam editor VS Code. Restart VS Code setelah mengubah versi node menggunakan nvm memperbaiki masalah untuk saya.
sumber
Ini adalah instruksi sederhana:
1) Pasang:
2) Gunakan sekali per terminal
3) Atur sebagai standar untuk semua terminal
Anda mungkin perlu menggunakan izin root untuk melakukan tindakan itu.
Dan jangan lupa untuk memeriksa dokumentasi nvm untuk info lebih lanjut.
Perhatikan juga bahwa Anda mungkin perlu menentukan versi simpul untuk IDE Anda:
sumber
Juga jika Anda memiliki simpul yang diinstal sebelum nvm periksa ~ / .bash_profile Anda untuk tidak memiliki sesuatu seperti:
Jika Anda memilikinya, komentar / hapus dan nvm harus mulai menangani versi simpul default.
sumber
Setelah lama berselisih dengan masalah ini, saya menemukan cara memperbaikinya. Berikut ini adalah solusi langkah demi langkah untuk masalah ini:
Buka terminal & Instal alat pengembang baris perintah:
xcode-select --install
Tekan enter
Pasang NVM versi terbaru:
cd ~/
Tekan enter
git clone https://github.com/creationix/nvm.git .nvm
Jika Anda sudah membuat folder .nvm sebelumnya, Anda akan melihat pesan kesalahan berikutnya:
fatal: destination path '.nvm' already exists and is not an empty directory.
Lain, Anda akan melihat proses kloning berjalan sampai selesai.
Lihat versi NVM terbaru:
cd ~/.nvm
Tekan enter
git checkout v0.34.0
Anda akan mendapatkan respons yang mirip dengan:
HEAD is now at 3d9c31d v0.34.0
Versi mungkin berbeda pada sistem yang berbeda.
ls
Tekan enter
. nvm.sh
Tekan enter
nvm list
Tekan enter
Anda akan melihat versi node yang berbeda diinstal pada mesin Anda, mungkin ada beberapa kesalahan, jangan beri mereka perhatian.
nvm ls-remote | tail -n9
Tekan enter
nvm list
Buka bash menggunakan vim:
vim ~/.bash_profile
Di dalam editor vim tekan:
i
untuk masukINSERT mode
dan memulai baris baru. Jika Anda memiliki kesalahan saat mengedit, tekanESC
tombol lalu:q!
keluar tanpa menyimpan.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
Tekan
ESC
tombol ketika Anda selesai mengedit file (Anda akan melihat mode INSERT menghilang).:wq
untuk menyimpan file.Tekan enter
nvm ls-remote | tail -n9
Tekan enter dan instal versi nvm terbaru yang disajikan:
nvm install 12.6.0
Saat proses selesai Anda akan melihat:
Now using node v12.6.0 (npm v6.9.0)
Anda dapat memeriksa apakah instalasi berhasil dengan menekan:
node -v
ataunpm -v
, ia akan menunjukkan kepada Anda versi nvm dan npm yang terinstal di sistem Anda.sumber