Brew kullanarak Node'nin en son sürümünü yükleme


154

NodeJs'in en son sürümü 0.4.1'dir

Komut brew install nodeşu anda 0.2.6'yı yüklüyor - bu ideal değil. 0.4.1 istiyorum

Demlemek için bu komut listesine baktım ve denedimbrew install --HEAD node

Ancak bu, 0,5-öncesi düğümü yükler.

Neden demlemek doğru sürümü kuramıyor ve nasıl doğru sürümü almaya zorlayabilirim?

Bu aşamada, src'yi indirip manuel olarak yüklemenin aslında daha kolay olacağı anlaşılıyor. Ama Brew ile neler olup bittiğini bilmek istiyorum.


Meraklıyım. Homebrew üzerinden kurulum ve nodejs.org'dan indirilen paketten kurulum arasındaki fark nedir ?
yihangho

Yanıtlar:


126

Çalıştırmak mı brew updatebaşlasak? Bunu yapmazsanız, Homebrew formüllerini güncelleyemez ve formüllerini güncellemezse yazılımın en son sürümlerini nasıl yükleyeceğini bilemez.


2
Doğru, 'demlemek güncelleme düğümü' denedim ama şimdi haklısın görüyorum. Bana öyle olmadı, çünkü doco 'demlemek güncellemesinin' demlemek yazılımını güncelleyeceğini söylüyor - ki bu hiçbir fark yaratmıyor gibi görünüyor. Ama 'formulea'dan bahsediyor - temelde' yazılım sürümleri kütüphanesi 'için sadece (açıkçası) aptalca bir kelime. Hangi sürümü yükleyeceğini bulmak için 'demlemek bilgi düğümü' yapabilirim. 0.4.0 olarak ayarlanmış, bu yüzden src'den zaten yüklemeyi bitirdim, ama bu doğru. Teşekkür ederim.
PandaWood

"Demleme yazılımını güncelle" yazdığında, demlemenin yüklendiği güncelleme yazılımı anlamına gelmez - demleme güncellemesinin kendisi ve Formül kütüphanesi anlamına gelir.
Lily Ballard

301

Aşağıdaki komutları şu sırayla çalıştırın:

brew update
brew doctor
brew upgrade node

Şimdi düğümün güncellenmiş sürümünü yüklediniz ve muhtemelen bağlı değil. Değilse, şunu yazın: brew link nodeveyabrew link --overwrite node


1
Devam et/usr/local/share/doc/node is not writable.
Saba Ahang

@SabaAhang, bkz: Homebrew için / usr / local üzerindeki izinleri düzeltme; ; gist.github.com/rpavlik/768518
AnneTheAgile

3
Hata: Böyle bir fıçı yok: / usr / local / Cellar / node
Hos Mercury

Güzel, bu, düğüm fıçısı bağlantısı kaldırıldığı için bir NPM hatasını ("Buffer.alloc bir işlev değil") düzeltti; eski dosyaları bağlamaya / üzerine yazmaya zorlamak gerekir.
dave

2
brew link --overwrite nodegerçekten çok önemli! teşekkürler
hanzichi

136

Demleme yoluyla kurulum / yükseltme düğümünden sonra bu konuya tam olarak rastladım: düğüm komutu çalıştı, ancak npm komutu değil.

Bu komutları düzeltmek için kullandım.

brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
sudo chown -R $(whoami) /usr/local
brew link --overwrite node
brew postinstall node

Deneme yanılma sonrasında bu çözümü bir araya getirdim ...


Teşekkür ederim! Aynı sorun vardı ve bu çözüldü.
elsurudo

7
sudo brew postinstall nodedemlemek köke ait değilse bir hata atar (önerilmez). Zaten yaptıysanız buna ihtiyaç olduğunu düşünmüyorum sudo chown -R $(whoami) /usr/local. Sadece koşabilmelisin brew postinstall node.
Sam Fen

2
@SamFen haklı. sudogerekli değil. Bu komutlar listesini vermeden önce kabul edilen cevabı çalıştırdım. Sonra koştum node -vve şimdi her şey yolunda görünüyor.
6754534367

1
Sudo chown yerine -R $ (whoami) $ (whoami) $ (demlemek --prefix) / * kullanın -R $ (whoami) / usr / local
Troy DC Thompson

1
Bu benim için çalıştı. @ sudo chown -R $(whoami) $(brew --prefix)/*Başlarken olarak @TroyDCThompson önerilen ne yaptı Operation not permitted.
thurzo101


13

Ayrıca, yeni bir düğüm sürümü yükledikten sonra geçerli düğüm sürümünü devre dışı bırakmayı deneyin. Bana yardım ediyor.

nvm deactivate

Bu, / PATERS/user_name/.nvm/*/bin $ PATH klasöründen kaldırıldı

Ve bu düğüm güncellendikten sonra

node --version
v10.9.0

9

Daha brew link --overwrite nodesonra brew install node0.4'ten 0.8.18'e güncelleme yapmak zorunda kaldım


Hata: Böyle bir fıçı yok: / usr / local / Cellar / node
Hos Mercury

7

Düğüm "n" son derece basit bir paket yöneticisi kullanmaya çalışın .

> npm install -g n

Bir kez "n" kurulu. Aşağıdakileri yaparak en son düğümü çekebilirsiniz:

> n latest

Ubuntu 16.0x ve MacOS 10.12'de (Sierra) başarıyla kullandım

Referans: https://github.com/tj/n


7

Geçerli düğümü üzerinden yüklediyseniz Homebrew, bu komutları kullanmanız yeterlidir.

brew update
brew upgrade node

Düğüm sürümünü kontrol edin

node -v


3

Bu çözümü Homebrew 0.9.5 ile kullandım ve düğümün en son kararlı sürümüne yükseltmek için hızlı bir çözüm gibi görünüyordu.

brew update

Bu, en son sürümü yükleyecektir

brew install node

Bunu bulmak için düğüm kullanımı olan düğüm -v'nin geçerli sürümünün bağlantısını kaldırın

brew unlink node012

Bu, düğümün en güncel sürümüne dönüşecektir.

brew link node

Not: Bu çözüm, bu hatayı almamın bir sonucu olarak çalıştı:

Hata: Böyle bir fıçı yok: / usr / local / Cellar / node


2

Bunu Mac OSX Sierra'da yaptım. 6.1 Düğümü yükledim, ancak Kukla Düğüm 6.4 gerekli. Ben de öyle yaptım:

brew upgrade node
brew unlink node
brew link --overwrite node@8
echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.bash_profile

Ardından yeni bir terminal penceresi açın ve çalıştırın:

node -v
v8.11.2

--Overwrite, node6 ve node8 arasındaki çakışan dosyaları geçersiz kılmak için gereklidir


2
  1. node -v geçerli sürümü gösterecektir.
  2. npm -v geçerli sürümü gösterecektir.
  3. brew link --overwrite --dry-run node bağlantıyı zorlar ve çakışan tüm dosyaların üzerine yazar.
  4. brew install node yeni bir kurulum yapın.
  5. brew update
  6. brew upgrade node
  7. brew link --overwrite node

    veya

    brew link node

Düğüm Yükseltme Prosedürü aşağıdadır



0

brewBağımlılığı kaldırmak istiyorsanız, nvm'yi tavsiye ederim - Başka bir sürümleme çözümü üzerinde gerçekten tavsiye edemem çünkü başka bir şey denemem gerekmedi. Üzerinde çalıştığınız projeye bağlı olarak sürümler arasında anında geçiş yapabilmeniz oldukça değerlidir.


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.