Node.js'nin eski bir sürümüne değiştirme


427

v0.5.9-preUbuntu 10.10 üzerinde Node.js sürümünü çalıştırıyorum .

Versiyon kullanmak istiyorum v0.5.0-pre.

Düğümün eski sürümüne nasıl geri dönebilirim?


Bunun eski bir soru olduğunu anlıyorum, ancak kimse homebrew kullanıyorsa , şu soruyu kontrol edin: stackoverflow.com/questions/3987683/…
blong

Paketinizi daha eski bir sürümde test etmek nodeistiyorsanız, yerel bir yürütülebilir dosya olarak yükleyebileceğiniz paketten bahsetmeye değer . Örneğin, v12.1: npm i --no-save node@12.1. Geçerli klasörde çalıştırabilirsiniz ./node_modules/node/bin/node .. Dezavantajı, küresel olarak yükleyemeyeceğiniz / kurmamanızdır.
geekley

Yanıtlar:


478

Bunun bir yolu Düğüm Sürümü Yöneticisi NVM'yi kullanmaktır.

Nvm almak için aşağıdaki komutu kullanın

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

Https://github.com/creationix/nvm adresinde bulabilirsiniz.

Düğümün birden çok sürümünü kolayca yüklemenizi ve yönetmenizi sağlar. İşte yardımdan bir pasaj:

Usage:
nvm install <version>       Download and install a <version>
nvm use <version>           Modify PATH to use <version>
nvm ls                      List versions (installed versions are blue)

2
Sunucu yeniden başlatıldıktan sonra, nvm ayarını kaldırır ve belirli bir sürümü yeniden kullanmaya başlamasını söylemem gerekir. Ayarlamadan sonra bile nvm alias default v0.5.0Yeniden başlattıktan sonra ayarları nasıl koruyacağını biliyor musunuz?
JD Isaacks

3
Dokümanlardan şunu yaptım: "nvm'yi etkinleştirmek için bunu bash kabuğunuzdan kaynaklamanız gerekir. ~ / .Nvm / nvm.sh Bu satırı her zaman ~ / .bashrc veya ~ / .profile dosyama ekliyorum genellikle otomatik olarak düğümün belirli bir sürümünü kullanmak için bir sıraya koydum. "
David EGP

2
bu benim için çalışmadı. Her zaman aynı versiyonda olacak şekilde dikiş yapın. github.com/tj/n benim için daha iyi çalıştı, daha basit.
Pedro Luz

1
Ayrıca .nvmrckullanmak istediğiniz sürümün açıklaması ile dizinde dosya olabilir . Ve sonra sadece bir nvm useşey yap ve umrumda değil
Sergei Panfilov

1
NVM'yi çok denedim ve çok sezgisel olmadığını gördüm. Sadece * NIX'i denedim ve sürümleri hemen hatasız olarak yükleyip değiştirebildim.
David Rhoderick

514

* NIX (Linux, OS X, ...)

Kullanım n , NPM yoluyla kurulabilir son derece basit bir Düğüm versiyonu yöneticisi.

Diyelim ki Node.js v0.10.x Atom oluşturuyor .

npm install -g n   # Install n globally
n 0.10.33          # Install and use v0.10.33
Usage:
n                            # Output versions installed
n latest                     # Install or activate the latest node release
n stable                     # Install or activate the latest stable node release
n <version>                  # Install node <version>
n use <version> [args ...]   # Execute node <version> with [args ...]
n bin <version>              # Output bin path for <version>
n rm <version ...>           # Remove the given version(s)
n --latest                   # Output the latest node version available
n --stable                   # Output the latest stable node version available
n ls                         # Output the versions of node available

 

pencereler

Kullanım nvm-pencere , şey gibi NVM'de ama Windows için. İndirin ve çalıştırın yükleyici , sonra:

nvm install v0.10.33         # Install v0.10.33
nvm use v0.10.33             # Use v0.10.33
Usage:
nvm install [version]        # Download and install [version]
nvm uninstall [version]      # Uninstall [version]
nvm use [version]            # Switch to use [version]
nvm list                     # List installed versions

7
evet, Windows'ta şans yok. Ben npm kullanarak nvmw yükledim ve iş yaptı! > npm install -g nvmw
Hugo Silva

4
nvmw artık korunmuyor
Joe Lloyd

4
n use vesionGenel olarak bir düğüm sürümü değiştirilemiyor. Sadece bir kerelik değişti.
Dai Kaixian

3
Bu yanıt Windows bölümünü kaldırmak için düzenlenmelidir, nvmw artık desteklenmemektedir. Windows 10'da kullanmaya çalıştığınızda "HATA: Sistem belirtilen kayıt defteri anahtarını veya değerini bulamadı."
2018

1
Ubuntu'daki kutunun dışında çalışmadı. n 9.6.09.6.0 kurulu olduğunu iddia ediyor ama node -vyine de 9.6.1 gösteriyor.
Dan Dascalescu

72

Bunu uzantı olmadan yapabileceğinizde neden herhangi bir uzantı kullanıyorsunuz :)

Düğümün belirli bir sürümünü yükle

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

Belirli sürüm: sudo n 4.4.4yerinesudo n stable


12
Görünüşe göre npencerelerde desteklenmiyor.
jfriend00

ubuntu üzerinde, aşağıdaki hata döküm: npm WARN kullanarak --force Umarım ne yaptığını biliyorsun.
Harlan Chen

1
@HarlanChen Bu bir hata değil. Bu bir uyarı. Göz ardı edebilirsiniz.
Pankaj

2
nBir uzantı değil mi? Ne zaman npm install -g nbir uzantı yüklüyorsunuz ...
Aljosha Novakovic

pls sudoparçası yoksay . bunu yapmamalısın
kreig303

55

Pencereler:

Düğümünüzü düşürmek için.

npm install node@<version>
 ex: npm install node@8.10.0

Npm'nizi düşürmek için.

npm install -g npm@<version>
 ex: npm install -g npm@3.10.10

Not Düğümün çalıştığı tüm pencerelerinizi kapatın. Tarayıcı, editör vb.

Önce düğümü kurmanız gerekir. Ve zaten yüklediyseniz, düğüm ve npm sürümünü de düşürebilirsiniz, sadece yukarıdaki komutları çalıştırın. Hala şans alamadıysanız ve düğümü güncellemeyi başaramadıysanız. Bunu dene. Düğümü iyice kurmayı deneyin. örn:

npm install -g node@8.10.0

Burada dikkate alınması gereken başka bir şey, npm'in en son sürümünü arıyorsanız npm'i güncellemeyi denemektir. Çalıştırmak

npm install npm@latest -g

MAC

Not: mac için bu aynı komutların çalışması gerekir. Umarım bu çözülür.


19
Sinir bozucu bir şekilde, bu benim düğüm versiyonumu değiştirmez.
Amos Uzun

3
Bu yaklaşımı denedim ve işe yaramadı. Ne işe yaradı düğüm paketi "program ekle veya kaldır" snappin kaldırmak oldu. Ardından, düğüm web sitesinden istediğiniz sürümü indirin.
Alberto S.

Mac'im ve benim durumumda eklememe gerek yoktu sudo, bu yüzden sadece yazmak iyi npm install -g node@8.12.0çalıştı
Giorgio Tempesta

1
Çok teşekkürler! Bu yaklaşım, projeme node@10.17.0'ı yüklememe ve daha sonra Realm@3.4.0'ı kurmayı başarabilmeme yardımcı olur. Bundan önce, birçok farklı yaklaşımı tekrar denedim, ancak React-Native projem için en son Realm'i Windows'uma yükleyemedim.
garykwwong


12

bulduğum en kolay yolu sadece nodejs.org sitesini kullanmaktır :

  1. https://nodejs.org/en/download/releases/ adresine gidin
  2. İstediğiniz sürümü bulun ve indir'i tıklayın
  3. Mac'te .pkg'yi tıklayın yürütülebilir dosyasını ve kurulum talimatlarını izleyin (Windows için doğru yürütülebilir dosyanın ne olduğundan emin değilim)
  4. istediğin düğüm versiyonunda olduğun için mutlu ol

1
Şimdiye kadar en basit seçenek!
Bay Washington

2
Windows'ta: msi bir düğüm sürümünü düşürmez. Sadece düz çıkar.
Bernard

10

nvmw artık korunmuyor, ancak güncel gibi görünen başka bir kaynak buldum (1/4/17 itibariyle).

nvm-pencere

İşe yarıyor. 6.3.1 sürümüne geçmeme izin verdi


9

Resmi Yol (Ubuntu)

Düğüm 12'deyseniz ve düğüm 10'a geri dönmek istiyorsanız, düğümü kaldırın ve istenen sürüm için talimatları izleyin:

# Remove the version that is currently installed
sudo apt remove -y nodejs

# Setup sources for the version you want
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

# (Re-)Install Node
sudo apt-get install -y nodejs

pencereler

Kendimi Windows'ta LTS'ye kanayan kenardan düşürmek istedim. Chocolatey gibi bir paket yöneticisi veya nvm veya n gibi bir düğüm sürüm yöneticisi kullanmıyorsanız, .msiistediğiniz sürümü indirin ve yükleyin. Şu anda yüklü olan sürümü Windows'taki "Program ekle veya kaldır" aracıyla kaldırmak isteyebilirsiniz.

chocolatey

Chocolatey'i kurulumları kolayca güncel tutmak için şiddetle tavsiye ederim ve Windows'a Node.js'yi yüklemek için yaygın bir yoldur. LTS sürümünü yüklemeden önce kanayan kenar sürümünü kaldırmak zorunda kaldım:

choco uninstall nodejs

choco install nodejs-lts

İle package.json

Programınızın kullanıcılarının doğru sürümü kullanmasını sağlar

Belirli bir proje için nodebağımlılık olarak ekleyebilir package.jsonve hangi sürümün kullanıldığını kontrol edebilirsiniz. Bir package.json"komut dosyası" yürütüldüğünde , npm(ve yarn) bu sürümü komut dosyasını çalıştırmak için genel olarak yüklenmiş Node.js yerine kullanır.

nodePaket indirerek bunu gerçekleştirir nodeyerel sistem için ikili ve içine koyar node_modules/.bindizine.


Düğüm Sürümü Yöneticisi

Çok taşınabilir olmasa da, bazı geliştiriciler belirli bir zamanda hangi düğümün aktif versiyonunun aktif olduğunu manuel olarak değiştirmeyi sever. Sisteminiz için istediğiniz sürümü seçmek (ve otomatik olarak yüklemek) için yararlı CLI arabirimleri sağlayan iki popüler npm paketi vardır: nvmve n. İkisinden birini kullanmak bu cevabın kapsamı dışındadır.




4

6.4.0 düğümü vardı.

Ben eski sürüm 6.3.0 ihtiyacım olduğu gibi, ben sadece benim sistemde tekrar 6.3.0 sürümü yüklü. düğüm sürümü otomatik olarak düşürüldü.

Bu nedenle, düğüm sürümünü düşürmek için, sadece düğüm js'nin eski sürümünü yükleyin. Yüksek sürümden otomatik olarak eski sürüme geçirilir.

Osx'te denedim. Mucizevi şekilde çalışır .


1

Nedense Brew düğüm 5'i düğüm 5 adlı ayrı bir dizine kurar.

Sürüm 5'e geri dönmek için attığım adımlar şunlardı: (Standart demleme kurulum / kaldırma işlemine bakmanız gerekecek, ancak aksi takdirde bu işlem göründüğünden daha basittir.)

  1. Brew standart kurulumunu kullanarak node5'i kurun, ancak bağlantı henüz demlenmiyor.
  2. Brew unlink düğümünü ve brew kaldırma düğümünü kullanarak düğümün diğer tüm sürümlerini kaldırın. Sürümlerden birini kaldırmak için --force kullanmanız gerekebilir.
  3. Bilgisayarınızdaki cellar klasörünü bulun
  4. Mahzendeki düğüm klasörünü silin.
  5. Düğüm5 klasörünü düğüme yeniden adlandırın.
  6. Ardından, bağlantı düğümünü demleyin

Hepiniz düğüm 5 ile ayarlanmış olmalısınız.


1

bunu çalıştır:

rm -rf node_modules && npm cache clear && npm install

Düğüm, önbelleğe alınan her şeyden yüklenir. İlk önce her şeyi temizlerseniz, NPM 0.10.xx kullanır, düzgün bir şekilde geri döner.

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.