CentOS 7'ye neden doğru yeni Node.js sürümü yüklenmiyor?


12

Not: Bu kısmen çözülmüştür, ancak biraz daha fazla dikkat gerektirir. OP'nin altındaki notlara ve @ Digisec'in kısmi yanıtına bakın.

CentOS 7'de Node.js'yi kurmaya çalışıyorum, ancak aşağıdaki komutlar en son sürümü yükleyemiyor. CentOS 7'ye en yeni Node.js sürümünü yüklemek için aşağıdaki kodda ne değiştirmem gerekir?

node --versionHangi sonuçları yazarak başlıyorum v0.12.7. Bu açıkça eski bir sürüm çünkü en son kararlı sürüm nodejs.orgolduğunu söylüyor v5.6.0.

Bu yüzden node.js dosyasının en son sürümünü almak için aşağıdakileri yazarım:

cd /tmp
curl -sL https://rpm.nodesource.com/setup | bash -

Terminal node.js'nin eski sürümünü kaldırmak için aşağıdakileri yazmam gerektiğini yazdırır, bu yüzden aşağıdakileri yazarım:

yum remove -y nodejs npm

Terminal ayrıca node.js'nin en yeni sürümünü yüklemek için aşağıdakileri yazmayı söylüyor, bu yüzden aşağıdakileri yazıyorum:

yum install -y nodejs

Ama sonra node --versiontekrar yazıyorum ve terminal v0.12.7tekrar cevap veriyor , önceki komutların eski eski sürümü tekrar yüklediğini gösteriyor.

Peki, CentOS 7 makinesinde node.js'nin en yeni kararlı sürümünü kurmak için ne yapmam gerekir?


DEVAM EDEN ÇABALAR:


@ Digisec'in önerisine göre, yukarıdaki komutları yeniden çalıştırdım, ancak bu sefer tüm çıktıları aşağıdaki metne kaydetti. Lütfen tekrar çalıştırdığım sıralamanın biraz farklı olduğunu unutmayın, ancak sonuç aşağıdaki gibi aynıdır:

[root@localhost ~]# node --version
v0.12.7
[root@localhost ~]# cd /tmp
[root@localhost tmp]# curl -sL https://rpm.nodesource.com/setup | bash -

## Installing the NodeSource Node.js 0.10 repo...


## Inspecting system...

+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m

## Confirming "el7-x86_64" is supported...

+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_0.10/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Downloading release setup RPM...

+ mktemp
+ curl -sL -o '/tmp/tmp.ePYEdVWXQH' 'https://rpm.nodesource.com/pub_0.10/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Installing release setup RPM...

+ rpm -i --nosignature --force '/tmp/tmp.ePYEdVWXQH'

## Cleaning up...

+ rm -f '/tmp/tmp.ePYEdVWXQH'

## Checking for existing installations...

+ rpm -qa 'node|npm' | grep -v nodesource

## Run `yum install -y nodejs` (as root) to install Node.js 0.10 and npm.
## You may also need development tools to build native addons:
##   `yum install -y gcc-c++ make`

[root@localhost tmp]# yum remove -y nodejs npm
Loaded plugins: fastestmirror, langpacks
No Match for argument: npm
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be erased
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                     Repository                                Size
====================================================================================================================================================================================
Removing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                              @nodesource                               16 M

Transaction Summary
====================================================================================================================================================================================
Remove  1 Package

Installed size: 16 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 
  Verifying  : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 

Removed:
  nodejs.x86_64 0:0.10.42-1nodesource.el7.centos                                                                                                                                    

Complete!
[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: www.gtlib.gatech.edu
 * epel: mirror.sfo12.us.leaseweb.net
 * extras: dallas.tx.mirror.xygenhosting.com
 * updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                      Repository                               Size
====================================================================================================================================================================================
Installing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                               nodesource                              4.5 M

Transaction Summary
====================================================================================================================================================================================
Install  1 Package

Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm                                                                                                             | 4.5 MB  00:00:09     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 
  Verifying  : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 

Installed:
  nodejs.x86_64 0:0.10.42-1nodesource.el7.centos                                                                                                                                    

Complete!
[root@localhost tmp]# node --version
v0.12.7
[root@localhost tmp]#   

Sonra, @ Digisec'in cevabına göre , daha sonra aşağıdakileri denedim, ancak aşağıdaki terminal çıkışından da görebileceğiniz gibi , sonuç hala uygun sürümü yükleyemiyor :

[root@localhost tmp]# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -

## Installing the NodeSource Node.js 5.x repo...


## Inspecting system...

+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m

## Confirming "el7-x86_64" is supported...

+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Downloading release setup RPM...

+ mktemp
+ curl -sL -o '/tmp/tmp.NEM1bxM9WB' 'https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Installing release setup RPM...

+ rpm -i --nosignature --force '/tmp/tmp.NEM1bxM9WB'

## Cleaning up...

+ rm -f '/tmp/tmp.NEM1bxM9WB'

## Checking for existing installations...

+ rpm -qa 'node|npm' | grep -v nodesource

## Run `yum install -y nodejs` (as root) to install Node.js 5.x and npm.
## You may also need development tools to build native addons:
##   `yum install -y gcc-c++ make`

[root@localhost tmp]# yum remove -y nodejs npm
Loaded plugins: fastestmirror, langpacks
No Match for argument: npm
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be erased
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                     Repository                                Size
====================================================================================================================================================================================
Removing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                              @nodesource                               16 M

Transaction Summary
====================================================================================================================================================================================
Remove  1 Package

Installed size: 16 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                             1/1 
  Verifying  : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                             1/1 

Removed:
  nodejs.x86_64 0:0.10.42-1nodesource.el7.centos                                                                                                                                    

Complete!
[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: www.gtlib.gatech.edu
 * epel: mirror.sfo12.us.leaseweb.net
 * extras: dallas.tx.mirror.xygenhosting.com
 * updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                      Repository                               Size
====================================================================================================================================================================================
Installing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                               nodesource                              4.5 M

Transaction Summary
====================================================================================================================================================================================
Install  1 Package

Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
nodejs-0.10.42-1nodesource.el7 FAILED                                          
https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm: [Errno 14] HTTPS Error 404 - Not Found           ]  0.0 B/s |    0 B  --:--:-- ETA 
Trying other mirror.
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/



Error downloading packages:
  nodejs-0.10.42-1nodesource.el7.centos.x86_64: [Errno 256] No more mirrors to try.

[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: www.gtlib.gatech.edu
 * epel: mirror.sfo12.us.leaseweb.net
 * extras: dallas.tx.mirror.xygenhosting.com
 * updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                      Repository                               Size
====================================================================================================================================================================================
Installing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                               nodesource                              4.5 M

Transaction Summary
====================================================================================================================================================================================
Install  1 Package

Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
No Presto metadata available for nodesource  
nodejs-0.10.42-1nodesource.el7 FAILED    
https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm: [Errno 14] HTTPS Error 404 - Not Found           ]  0.0 B/s |    0 B  --:--:-- ETA 
Trying other mirror.
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/



Error downloading packages:
  nodejs-0.10.42-1nodesource.el7.centos.x86_64: [Errno 256] No more mirrors to try.

[root@localhost tmp]# node --version
v0.12.7
[root@localhost tmp]# 

Daha sonra yukarıdaki hata günlüğünde başvurulan bilgi tabanı makalesini ziyaret ettim , ancak Red Had müşterisi olmadığım için makalenin tamamına erişemediğimi fark ettim.


KISMİ ÇÖZÜM:


@Digisec, yeni sürümün nasıl kurulacağını göstererek bunu kısmen çözdü, ancak eski sürümü kaldıramıyoruz, bu da çatışmaların ilerlemesine neden olacak. Yeni yüklemenin temiz ve eksiksiz olması için eski sürümü kaldırmak için hangi adımlar atılmalıdır?

Bu sürümde eski sürüm v0.12.7 için tar url'yi buldum . Ve @Digisec ' komutu kullanarak bu bağlantıyımake uninstall okumanızı önerdi . Eski v0.12.7'yi kaldırmak ve nodejs'in yeni sürümünü yeniden yüklemek için terminalde yazmak için yalnızca beş veya on komut olabileceğini hissediyorum. Gerekli komutlar nelerdir?

CentOS 7 makinesinde aşağıdaki terminal komutlarını kullanarak nodejs v0.12.7 ile ilgili üç katran dosyası buldum:

[root@localhost ~]# cd /
[root@localhost /]# find . -type f -iname "*.tar"
find: ‘./run/user/1000/gvfs’: Permission denied
./opt/node-v0.12.7/deps/npm/node_modules/tar/test/dir-normalization.tar
./opt/node-v0.12.7/deps/npm/test/fixtures/gitignore-and-npmignore-2.tar
./opt/node-v0.12.7/deps/npm/test/fixtures/gitignore-and-npmignore.tar
./usr/local/lib/node_modules/npm/test/fixtures/gitignore-and-npmignore-2.tar
./usr/local/lib/node_modules/npm/test/fixtures/gitignore-and-npmignore.tar
./usr/local/lib/node_modules/npm/node_modules/tar/test/dir-normalization.tar
[root@localhost /]# 

node_modulesİlişkisi v0.12.7net olmayan işaretli ek üç katran dosyası bulunduğunu unutmayın.

İlişkili v0.12.7tüm v0.12.7tar dosyalarını makineden güvenle kaldırmak ve kaldırmak için hangi belirli komutları çalıştırırım ?


Tüm çıktıları da yayınlamak iyi bir fikir olacaktır. Bu size daha iyi yardımcı olabilmek için neler olduğunu görmenize yardımcı olur.
Digisec

@Digisec Komutları yeniden çalıştırdım ve sonra tam çıktıyı istediğiniz gibi OP'ye ekledim. Sorunu izole etmek için başka bir şey yapabilir miyim?
CodeMed

Artık NodeJS'nin eski sürümünü ile kaldırabilirsiniz yum remove -y nodejs.
avazula

Yanıtlar:


7

Bunu aldýđýn linki kontrol ettim . Özel olarak sürüm yüklüyorsunuz 0.10veya en azından yüklemeye çalışıyorsunuz, ancak yüklenmekte olan repoda daha yeni bir sürümünüz var. Düğüm v5 kurulumunu izlemelisiniz.

curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -

Not : ileride başvurmak üzere, özellikle komutları root olarak çalıştırırken siteleri çok dikkatli okuduğunuzdan emin olun .

EDIT: Tamam, öyle görünüyor ki repo doğru eklediniz . Repoya baktığımızda, paketleriniz orada ama sistem yanlış sürümü arıyor. Bu noktada öneririm.

yum clean all && yum update

Bu, önbelleğe alınan depoyu temizler ve uzaktan yakalar.

Cevap: Üzerinde yaptığımız işten sonra, chatsizin için doğru cevap. nodejs v5iyi yüklü. Daha önce nodejs v0.12manuel olarak derlediniz, bu ikili dağıtımlar için iyi bir fikir değildir, çünkü bu pozisyonda sonuçlanacaksınız.

which node

iade

/usr/local/bin/node

süre

/usr/bin/node

doğru cevabı verdi v5.x.

Bu noktada düzeltmek için birden fazla seçeneğiniz var, ancak 2'yi tavsiye ederim.

  • Seçenek 1 : Bu kolay çıkış yoludur. Kendinizi düzenleyebilir .bashrcve aliasbuna işaret edecek bir tane ekleyebilirsiniz node -> /usr/bin/node. Bu ekleme kadar basit alias node="/usr/bin/node". Bu, her seferinde doğru sürümü çağıracaktır, ancak gelecekte kütüphanelerle çakışmalara neden olmayacağını garanti edemem.
  • Seçenek 2 : Bu zor yol, ama düzeltir. İlk yumolarak, sisteme kurulan nodejs ile temizleyin . İkinci olarak, derlediğiniz sürümün tarball'ını alın, untar'ı ./configurekaldırın ve kaldırın. Bu adım, kolayca çevrimiçi bulabilirsiniz . Son olarak, yeniden nodejsaracılığıyla yumve bu sorunu çözecektir.

Bunu incelediğiniz için teşekkür ederiz, ancak bu yine de sorunu tam olarak çözmemektedir. Lütfen önerinizi denemenin sonuçlarını belgeleyen OP'nin sonuna eklediğim ek terminal çıkışına bakın. Başka ne deneyebilirim?
CodeMed

@CodeMed Cevabı güncelledim ve sohbete başlamak daha iyi bir fikir olurdu.
Digisec

Bu sorunu çözmedi. Hala sohbet etmeye hazırsanız
CodeMed

@CodeMed sorununuzu çözmede bol şans.
Digisec

2. seçeneğinizle ilgilenmeye hazır mısınız? Yoksa ayrı bir soru mı yayınlamalıyım?
CodeMed

4

Ben ne yaptım:

rm -f /etc/yum.repos.d/nodesource-el*
kıvırmak -sL https://rpm.nodesource.com/setup_7.x | bash -
yum install -y düğümler
düğüm - sürüm

ve aldım:

v7.2.0

Teşekkür ederim! Bana yardımcı olan tek çözüm buydu.
626

3

CentOS 7.2, NodeJS 6.7.0 ( https://nodejs.org/download/release/v6.7.0/ ). Manuel olarak yükle

wget https://nodejs.org/download/release/v6.7.0/node-v6.7.0.tar.gz
./configure
make
make install

kaldırmak için make uninstall


1

Düğümü aynı NodeSource RepoInstaller'dan yüklemeyi denedim . Benim yolum için sorun etkin nodesourcerepo tarafından çözüldü . Değişim enabled=0için enabled=1ve tüm should çalışır.

[root@web ~]# cat /etc/yum.repos.d/nodesource-el.repo
[nodesource]
name=Node.js Packages for Enterprise Linux 7 - $basearch
baseurl=https://rpm.nodesource.com/pub_6.x/el/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL

0

Ayrıca CentOS 7'de npm ve nodejs'in yeni sürümlerini almakta bazı sorunlar yaşıyordum.

Nodejs sitesindeki talimatları izledikten sonra npm yüklemeye çalıştım. Bu sorun olduğu ortaya çıktı (npm EPEL'den kuruluyordu). Nodesource deposu, EPEL'de olduğu gibi npm için ayrı paketler sağlamaz. Bunun yerine her şey tek bir paket 'nodejs' içinde. Nodesource'tan nodejs yükledikten sonra, şimdi otomatik olarak npm yüklediniz ve güncellenmiş sürüme geçmeye hazırsınız.


0

Aynı sorunla mücadele ediyordum, ne yum clean allde rm -f /etc/yum.repos.d/nodesource*yardım ettim . Sonra yum'un düğümü yüklemek için Epel deposunu kullandığını gördüm, bu yüzden geçici olarak ( /etc/yum.repos.d/epel.reposette enabled=0) devre dışı bıraktım ve bundan sonra

curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install nodejs

0

Aynı sorunla da karşılaştım.

Çözüm: 1. /tmpTüm dosya ve klasörleri kaldırmak için konuma gidin .

cd /tmp
rm -rf *

2. Artık NodeJ'leri kurmak için aşağıdaki komutları kullanabilirsiniz

curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
sudo yum install -y nodejs
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.