Homebrew kullanarak düğümü nasıl düşürürüm veya belirli bir önceki sürümü nasıl kurarım?


229

Demlemek kullanıyorum. Demeti kullanarak, düğüm yükledim. Düğümün daha önceki bir sürümünü kullanmak istiyorum.

Çevrimiçi olarak , örneğin :

cd /usr/local/Library/Formula
brew remove node --force
brew versions node
git checkout 83988e4 /usr/local/Library/Formula/node.rb
brew install node

Bununla ilgili sorunum alt komuta brewsahip görünmüyor versions:

$ brew versions node
Error: Unknown command: versions
$ brew --version
0.9.5

Demlemek için yeniyim. versionsAlt komutu bir şekilde etkinleştirmem gerekiyor mu? Bunun yerine farklı bir alt komut kullanmalı mıyım? Denemem gereken tamamen farklı bir yöntem var mı?

OS X Yosemite (10.10.1) kullanıyorum; demlemek 0.9.5.


Hangi node.js sürümünü kurmayı düşünüyorsunuz?
bmike

Patronum bana 10.32 söyledi. Sanırım 0.10.32 demek. Şu anda 0.12.0 yükledim.
dave4420

Bu tarihte okuyucu bu cevaba gitmelidir: stackoverflow.com/a/4158763/48136
Brice

Yanıtlar:


352

Bugünlerde farklı bir sürümünü yüklemek istiyorsanız, nodeşu şekilde yapın:

İlk önce istediğiniz paketi arayın:

brew search node

Bu size aşağıdaki sonuçları verebilir:

heroku/brew/heroku-node ✔
llnode
node@10
nodebrew
leafnode
node ✔
node@8
....

Ardından istediğiniz sürümü yükleyin:

brew install node@8

Ayrıca, aynı anda 1'den fazla düğüm paketini kurabileceğinizi, ancak bunları aynı anda kullanamayacağınızı da unutmayın. Öyleyse, kurulu en son / genel nodepakete sahipseniz, önce bağlantıyı kesmeniz gerekir:

brew unlink node

Ve sonra farklı bir versiyonu bağlayabilirsiniz:

brew link node@8

Bazı eski düğüm sürümlerinde (yalnızca fıçı), bunları --forceve --overwriteseçenekleriyle ilişkilendirmeniz gerekebilir :

brew link --force --overwrite node@8

10
Buradaki en iyi cevap.
chovy

3
Listelenen diğer sürümlerden birini (yukarıdaki talimatlara göre) başarıyla yükleyebilmeniz için önce mevcut bir düğüm sürümünün "bağlantısını kaldırmanız" istenebileceğini unutmayın. “Bağlantıyı kesmek” ile sisteminize fiziksel olarak kurulmuş diğer sürümü bırakmış olursunuz, ancak kurduğunuz sürüm (bağlantı kesildikten sonra) sisteminizde “varsayılan” sürüm olacaktır. Örneğin, brew unlink nodeyüklediyseniz yazmak zorunda kalabilirsiniz brew install node. Sonra yapabilirsin brew install homebrew/versions/node4-lts(ki bu cevaptaki talimatlara göre listelenmiş bir versiyon olarak görmelisin).
xmnboy

1
Onun yerine homebrew/versions/node06şimdi homebrew/versions/node6-lts. Ayrıca brew link node6-lts.
akauppi,

1
Son demleme değişikliklerini yansıtacak şekilde cevabımı güncelledim. Teşekkürler!
Paweł Gościcki

2
fakat brew kullanarak node 8.2.1 gibi belirli bir versiyonu nasıl kurabiliriz?
Nadav B

39

İşte adım adım.

Geçerli düğüm sürümünüzü görmek için

$ node --version

Kullanılabilir düğüm sürümlerini görmek için

$ brew search node

Mevcut sürümle olan bağlantıyı kesmek için

$ brew unlink node

Herhangi bir sürümü yükleyin, örneğin 8

$ brew install node@8

Yüklenmiş sürümü bağlamak için

$ brew link node@8

Mevcut düğüm versiyonunuzu görmek için (tekrar)

$ node --version

Tam ihtiyacım olan şey
Brian Colavito

Bu sorunu nasıl çözeriz ? brew link node @ 10 Uyarı: nod @ 10 sadece keg'dir ve --force ile bağlantılı olması gerekir. Eğer önce PATH'nizde bu yazılımı çalıştırmanız gerekiyorsa, çalışmayı düşünün: echo 'export PATH = "/ usr / local / opt / 10 @ düğüm: $ PATH "'>> ~ / .bash_profile
vikramvi

Mac OS 10.13.5'te işe yaramadı, hata
oluştu

15

İtibariyle homebrewleri / sürümlerine bu PR ve homebrew bu PR içeren cevaplar brew tap homebrew/versionsveya *-ltspaketler artık çalışmaz.

Doğru cevap şimdi:

brew install node@<version>

Nerede <version>olduğunu 0.10, 0.12, 4vb Örneğin, (bu yazı En son LTS sürümü itibariyle) node.js v6 yüklemek için:

brew install node@6

brew updateBu yeni sürümlü formüllerin kullanılabilir olduğundan emin olmak için bu komutlardan önce çalıştırmanız gerekebilir . nodeYüklenmiş formülün başka bir sürümüne sahipseniz brew unlink nodeilk önce çalıştırmanız gerekir .


2
Mac OS 10.13.5 ile çalışmadı stackoverflow.com/questions/53043476/…
vikramvi

11

brew versionsyükledikten sonra bir noktada kurulmalıdır brew.

$ brew tap homebrew/boneyard

Daha sonra kullanabilirsiniz brew versionstalimatları varsayalım olarak komutu.


4
homebrew/boneyardmodası geçmiş ve Mart 2015 itibariyle github.com/Homebrew/homebrew-versions ile değiştirilecek brew tap homebrew/versions.
Jakub Holý

12
İle homebrew/versionssize paketin adını sürüm alacak: brew search node => leafnode node node010 node04 node06 node08 nodebrew .... Node.JS'nin 0.10 sürümünü kurmak için bunu brew install node010takip brew link --overwrite node010edin.
Jakub Holi

3
Ayrıca gerekebilir brew unlink nodesenden öncebrew install node010
chananelb

10

Bilginize, daha önce eski sürümü yüklüyse ve çalışmadıysanız brew cleanup(eski sürümleri siler),brew switch node 5.7.0

Yüklü tüm düğüm sürümleri çalıştırılarak listelenebilir brew info nodeveyals -l /usr/local/Cellar/node/

Demlemek komut hile sayfasına bakınız: http://ricostacruz.com/cheatsheets/homebrew.html


2017 / 12'den itibaren çalışıyor! Homebrew 1.4.0-17-gc912d26
Jason Harrison

5

Sadece özellikle Düğüm için ihtiyacınız varsa, kullanabilirsiniz nvm. Düğümle çok çalışıyorsanız çok kullanışlıdır.


Nvm belgelerine göre demlemek ve nvm desteklenen bir açılan değildir. Bu konuda yorum yaptım. github.com/angular/angular-cli/issues/… Bu konuda herhangi bir savaş hikayesi duymak isterim. Çünkü yüzeyde "desteklenmediği" gerçeğine rağmen bu çalışmayı yapıyor görünüyorum
JGFMK

3

Homebrew olmadan yapabilirsiniz.

Düğümü kaldırabilir ve sonra el ile yükleyebilirsiniz.

Mevcut sürümünüzü indirmelisiniz. İşte liste .

-V {your-current-version-number} .tar.gz düğümünü indirin, çıkarın ve sonra komut satırına gidin.

cd node-v{your-current-version-number}
./configure
make
sudo make install

Kaldırmak için sudo make uninstall

Ardından kurmak istediğiniz sürümü indirin ve yukarıdaki adımları izleyin.

Bu blog gönderisinden


Bu cevabı + 1'leyin. FWIW, bin/bu çalışmayı sağlamak için nottartar klasörünü PATH'ime kopyaladım .
Shicholas

Daha da iyisi, .pkg dosyasını buradan indirebilir ve yüklemek için çift tıklayın.
Henrik N,


3

Burada ve homebrew sürümlerini kullanacak başka yerler var, ancak bu size hangi Düğüm sürümünü yükleyebileceğiniz konusunda çok sınırlı seçenekler sunar.

NVM'yi kullanmak çok daha kolaydır ve sürümler arasında kolayca geçiş yapmanızı sağlar.

homebrew install nvm

Ardından uyarılar yönergeleri izleyin - mkdir ~/.nvmve iki satırı ekleyin senin .bash_profilevesource .bash_profile

Sonra nvm install <version>ihtiyacınız olan tüm sürümleri çalıştırın . Sonra nvm use <version>değiştirmek için.


Bu kabul edilen cevap değil, ancak benim için çalışan tek cevap. Keşke bunu ilk deneseydim, çünkü çok zaman kazandıracaktı.
Alex,

1

Size 0.12. * Sürümünüzün olduğunu görüntüleyelim. Yüklemek için (düşürme) 0.10 düğüm sürümü demlemek OSX'e atmak zorundasınız:

$ sudo brew tap homebrew-versions
$ brew unlink node
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-versions/master/node010.rb
$ node -v

Tüm düğüm sürümlerinin listesi burada


1

NodeJS dünyasında tercih edilen yol, n aracını kullanmaktır.

  • Kurulum: npm install -g n
  • Düğüm 8.8.4'ü yükleyin n 8.8.4
  • Yerel olarak mevcut tüm düğüm sürümlerinizi listeleyin ve birini seçti: n

Bu benzer görünüyor nvm, ama sorunları vardı nvmve nkutunun dışında çalıştı.


0

https://nodejs.org/en/blog/release/

Buraya gidebilir ve ihtiyacınız olan sürümü yükleyebilirsiniz.

Yüklemeden önce brew unlink node, geçerli sürümün bağlantısını kaldırmak için çalıştırmak isteyebilirsiniz .


1
Demlenmeyi kullanmak (diğer birkaç cevabın tanımladığı gibi) veya düğümü kaldırmak ve daha sonra manuel olarak kurmaktan (@ Terente-Ionut-Alexandru'nun cevabının tarif ettiği gibi) avantajı ne olurdu?
John N

@JohnN demleme versiyonları şu andan itibaren kullanımdan kaldırılmıştır. Alternatiflerinin anlaşılması çok kolay değildir. Ayrıca, tam sürümünü kurmak için biraz demlemek gibi karmaşık.
Anant Simran Singh

@ Paweł-Gościcki'nin (140 oyla en yüksek puan alan) cevabını anlamak çok kolay görünüyor ve karmaşık değil - ki brew ve formüllerin farklı sürümleriyle ilgili son deneyimlerime uyuyor. Demek istediğim, cevabınız diğer cevaplarda daha önce söylenmemiş bir şeye eklenmemiş gibi görünüyor - Terente'nin önerdiği gibi kaldırma + el ile yüklemek yerine + elle yüklemek için bir neden olmadıkça?
John N

@JohnN Tabii ki, anlaşılması kolaydır. Ancak arama yapmayı sağlayan seçeneklerle sınırlı kalacaksınız. Örneğin Eğer tam olarak 4.4.6 nolu düğümü istiyorsanız, ancak demleme yalnızca 4 nolu bir düğüm seçeneği sağlayacaktır. Bu nedenle.
Anant Simran Singh

Bence, sorunun 3 nezih cevabı var: (1) demlemek, (2) nvm kullanmak ve (3) kaldırmak ve elle yüklemek. Yapmaya çalıştığım şey, cevabınızın neden bu mevcut cevaplara eklendiğini açıklamak. Neden mevcut bağlantıların bağlantısının kaldırılması ve elle kurulmasının tercih edildiğini düşünüyorsunuz? Özellikle, neden * bağlantıyı kaldırma * + el ile yükleme işleminin Terente'nin yanıtının önerdiği gibi * kaldırma * + el ile yükleme işleminden daha iyi olduğunu düşünüyorsunuz?
John N
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.