CentOS kutusundaki node.js v0.6.18’de, yum güncellemiyor veya yükseltmiyor. Neden?


6

Şu anda, ne zaman yüklü bir düğüm sürümü yüklü olan bir CentOS kutusuyla çalışıyorum:

nodejs -v

alırım

v0.6.18

Ancak nodejs.org web sitesinde, en son sürüm 0.8.12 olduğunu fark ettim.

sudo yum update nodejs

alırım

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos-mirror.jchost.net
* epel: fedora-epel.mirror.lstn.net
* extras: centos.mirror.lstn.net
* updates: centos.mirror.lstn.net
Setting up Update Process
No Packages marked for Update

Anlaşma ne? Yum neden düğümün en son sürümünü bulamıyor? .Tar.gz dosyasını nodejs.org'dan indirmeli ve bu şekilde kurmalı mıyım?

Yanıtlar:


1

Sisteminizde NodeJS Yum deposu yüklü gibi görünmüyor. Depoyu sisteminize yüklemek için Düğümün " Paket Yöneticileriyle Kurma " sayfasındaki talimatları izleyin, yum clean alliyi bir ölçüm için bir kez çalıştırın ve sonra yum updatekomutu tekrar deneyin . Eğer Yum olmayan bir kaynaktan (örneğin, bina formu kaynağı) Node aldıysanız, NodeJS örneğinizi Yum üzerinden yönetmeye başlamak için yum install nodejs(yerine update) veya ne yapmamalısınız.

Ayrıca, Düğüm çok yoğun bir şekilde geliştirildiğinden ve çok sık yayınlandığından, daha yeni sürümlerin RPM paketlerinin bir süre dağıtım için Yum havuzlarına sızamaması muhtemeldir (EPEL ve benim için hızlıca geliştirilen bir çok yazılımla ilgili deneyimim) ). Eğer durum buysa, paketler ve / veya (gibi yeni Düğüm sürümleri izleyen bir üçüncü taraf / diğer Yum deposunu kullanmayı düşünün bu bir (yok), ya da farklı bir paket yöneticisini kullanarak npm? Destek üzerinde çalıştığı Düğüm örneği güncelleyerek) veya manuel yazılımı indirme / yükleme.


Önerilerinizi deneyecek, ancak yum clean allönceden yüklenmiş olan diğer paketleri mahvedecek mi?
ariestav

1
Hayır, bu sadece yum'un uzak depolarda mevcut olanın önbelleğini sıfırlar. Yüklü yazılıma dokunulmaz. Referans: yum.baseurl.org/wiki/YumCommands
Zac B

yum list nodejsDüğüm kurulumunuzun Yum tarafından yönetilip yönetilmediğini görmek için ilk adım atmak olacaktır . Değilse, satın aldığınız herhangi bir Yum dağıtılmış sürümünün muhtemelen biraz farklı şekilde kurgulanması / yeniden yapılandırılması gerekiyor.
Vs.

yum list nodejsYum tarafından yönetildiği şovlara benziyor .
Bağlandığın

Bu durumda, makinenize muhtemelen tarball / source install ile yüklenmiştir. İlgili tüm Node konfigürasyonlarınızın yedeklenmiş ve güvenli olduğundan emin olun, daha sonra tüm Node değerlerini sisteminizden kaldırmak için elinizden gelenin en iyisini yapın (bu daha sonra hangi şeylerin önceden yüklendiğini ve hangilerinin yüklendiğini yum), ve daha sonra yum install nodejs nodejs-compat-symlinks npmYum tarafından yönetilebilmesi için bir oradan kaç . Kaldırılması / yeniden yüklenmesi güç olabilir, ancak uzun vadede karşılığını almalı; yükseltme işlevini ve ücretsiz olarak yüklenenlerin bir listesini alırsınız.
Zac B

0

Bunu işleyen bir senaryo yazdım. Aşağıdaki adımları izleyin:

# retrieve
curl https://gist.github.com/4348083/download > centos5.8-upgrade-nodejs0.8.16.tar.gz

# extract
tar -xvf centos5.8-upgrade-nodejs0.8.16.tar.gz --strip 1

# prepare
chmod 744 centos5.8-upgrade-nodejs0.8.16.sh

# execute
sudo ./centos5.8-upgrade-nodejs0.8.16.sh

# cleanup
sudo rm -r bzip2-1.0.6* centos5.8-upgrade-nodejs0.8.16* Python-2.7*

Bunu doğru anlarsam, sizi node.js kurulumunun yum üzerinden güncellemesini istemekle ilgili orijinal soruyu ele almayan 0.8.16 sürümünde (şu anki sürüm zaten 0.8.19) sabitlenmiş durumda kalır.
39'da açık

Sorunuza bir çözüm değil (Yum yok), ancak "n" adlı araç otomatik olarak Düğüm'ün en yeni veya en son sürümlerini indirir ve derler. Bunu bir cronkomut dosyası veya benzeri bir yöntemle otomatikleştirebilir ve güncel kalmak için nispeten kolay bir yol kullanabilirsiniz. github.com/visionmedia/n
Zac B
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.