NVM kullanarak düğüm düzgün şekilde nasıl yükseltilir


231

nodeEn son kararlı sürümü manuel olarak yüklemek yerine, yerinde yükseltmek mümkün mü ?

Ben yüklemiş node.js sürümü 5.0ile nvm, ama şimdi bunu güncellemek istiyorum 5.4. El ile tüm global paketleri ( örneğin çalıştırarak npm install -g grunt-cli bower yo yoman-angular-generator blabla blablablabla...) yeniden yüklemek zorunda kalmamaya çalışıyorum .

Yanıtlar:


328

Bu işe yarayabilir:

nvm install NEW_VERSION --reinstall-packages-from=OLD_VERSION

Örneğin:

nvm install 6.7 --reinstall-packages-from=6.4

isterseniz, önceki sürümünüzü şu yöntemlerle silebilirsiniz:

nvm uninstall OLD_VERSION

Burada, sizin durumunuzda, NEW_VERSION = 5.4 OLD_VERSION = 5.0

Alternatif olarak şunu deneyin:

nvm install stable

1
nvm install stableyüklü düğüm de dahil olmak üzere yüklü tüm paketleri kaldırmak yerine doz güncelleme?
Syed

1
aslında, bu artık çalışmıyor. Npm ile ilgili bir sorun var: github.com/creationix/nvm/issues/811
jhuesos

5
Tarafından nvm ls-remotetüm sürümleri görebilirsiniz.
Daniel

7
Bu benim için çalışıyor: nvm install node --reinstall-packages-from=$(nvm current). Bu, Node.js'yi en son sürüme güncelleyecek ve önceki sürümden ne olursa olsun npm global paketlerini yeniden yükleyecektir.
cyfrost

Kaldırmayı başaramazsanız, kullanın nvm deactivateve tekrar deneyin.
izilotti

185

Aşağıdaki komutlardan birini daha basit bir şekilde çalıştırabilirsiniz:

Son sürüm :
nvm install node --reinstall-packages-from=node
Kararlı (LTS) sürüm :
nvm install lts/* --reinstall-packages-from=node

Bu, uygun sürümü yükler ve geçerli olarak kullanılan düğüm sürümünden tüm paketleri yeniden yükler. Bu, belirli sürümleri elle işlemden kurtarmanızı sağlar.

Düzenle - @ m4js7er açıklamasına göre LTS sürümünü kurmak için komut eklendi.


20
Eğer son kararlı sürümü (lt - çoğu kullanıcı için önerilir) güncellemek istiyorsanız, o zaman çalıştırmalısınız: nvm install lts/* --reinstall-packages-from=node. Bundan sonra sürümlerinizi temizleyebilirsiniz nvm uninstall [old version]. Kurulu tüm sürümleri ile listeleyebilirsiniz nvm ls.
m4js7er

Çift yapmadan önce düşünmek --reinstall-packages-from=nodeSen sürümleri 6, 8 ve 10 için farklı küresel ortamları kullanabilirsiniz
contributorpw

1
Komutu bağladım nvm install lts/* --reinstall-packages-from=nodeama Version 'lts/*' not found - try 'nvm ls-remote' to browse available versions.NVM sürüm 0.30.1'i kullandığımı söylerken hata verdim, belki NVM'im çok eski. Ben işe almak için lts/*ile elle yerine sonunda 10.15.2/*.
Zhang

16

İKİ Basit Çözüm:

Düğümün en son sürümünü yüklemek ve eski sürüm paketlerini yeniden yüklemek için aşağıdaki komutu çalıştırın.

nvm install node --reinstall-packages-from=node

ltsDüğümün en son sürümünü (uzun süreli destek) yüklemek ve eski sürüm paketlerini yeniden yüklemek için aşağıdaki komutu çalıştırın.

nvm install --lts /* --reinstall-packages-from=node

İşte bu yanıtı destekleyecek bir GIF . nvm


Bu işe If --reinstall-packages-from is provided, it must point to an installed version of node.
yarayamıyorum

@wickywills "düğüm: bu, düğümün en son sürümünü yükler" olabilir ve LTS veya belirli bir sürüm yüklüdür ve bu nedenle nodeyüklü en son sürüme işaret etmez. Veya nvm'yi güncellemeniz gerekir.
iBaff

10

4.2'niz varsa ve 5.0.0'ı yüklemek istiyorsanız

nvm install v5.0.0 --reinstall-packages-from=4.2

gabrielperales'ın cevabı, sonunda "=" işaretini kaçırması dışında haklı. "=" işaretini koymazsanız yeni düğüm sürümü yüklenir, ancak paketler yüklenmez.

Kaynak: sitepoint


2

Node.JS yeni bir sürüm yüklemek için.

Adım 1: NVM Kurulumu

npm i -g nvm

Adım 2: NODE Yeni sürüm kurulumu

nvm install *.*.*(NodeVersion)

Adım 3: Seçilen Düğüm Sürümü

nvm use *.*.*(NodeVersion)

Bitiş


0

Geçerli etkin sürümü güncellemek için Bash takma adı:

alias nodeupdate='nvm install $(nvm current | sed -rn "s/v([[:digit:]]+).*/\1/p") --reinstall-packages-from=$(nvm current)'

Parça sed -rn "s/v([[:digit:]]+).*/\1/p", çıkışı nvm currentsadece düğümün büyük bir versiyonu döndürülecek şekilde dönüştürür, yani: v13.5.0-> 13.

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.