Node.JS'i CentOS'a nasıl yüklersiniz?


131

Node.js için çok sayıda kurulum talimatı buldum, ancak hepsi çok karmaşık görünüyor - Ben süper bir sistem yöneticisi değilim ama dolaşabilirim. Sistemde yum var, ancak herhangi bir node.js paketi bulamadım ve sunucudaki kodu nasıl derleyeceğimi veya nereye koyacağımı bilmiyorum.


Herkese iyi cevaplar için teşekkürler. Şimdi hem nodejs hem de npm yükleyebileceğinize inanıyorum! harika
qodeninja


... EPEL ile (daha önceden bir depoya sahip değilseniz talimatları izleyin : rackspace.com/knowledge_center/article/… ).
geerlingguy

EPEL işlerinin artık işe yaramadığını ya da Centos 7'de çalışmadığını
sanmıyorum

Yanıtlar:


139
su - 
yum install gcc-c++ openssl-devel
cd /usr/local/src
wget http://nodejs.org/dist/node-latest.tar.gz
tar zxvf node-latest.tar.gz
(cd into extracted folder: ex "cd node-v0.10.3")
./configure
make
make install

Bunun, ./configureyukarıda kullanmak için Python 2.6+ gerektirdiğini unutmayın . python2.7Gerekirse , "configure" dosyasını 1. satıra işaret edecek şekilde değiştirebilirsiniz .

Bir RPM paketi oluşturmak için kullanabilirsiniz FPM :

# wget http://nodejs.org/dist/node-latest.tar.gz
# tar zxvf node-latest.tar.gz
(cd into extracted folder: ex "cd node-v0.10.3")
# ./configure --prefix=/usr/
# make
# mkdir /tmp/nodejs
# make install DESTDIR=/tmp/nodejs/
# tree -L 3 /tmp/nodejs/
/tmp/nodejs/
└── usr
    ├── bin
    │   ├── node
    │   ├── node-waf
    │   └── npm -> ../lib/node_modules/npm/bin/npm-cli.js
    ├── include
    │   └── node
    ├── lib
    │   ├── dtrace
    │   ├── node
    │   └── node_modules
    └── share
        └── man

Şimdi nodejspaketi hazırla:

# fpm -s dir -t rpm -n nodejs -v 0.8.18 -C /tmp/nodejs/ usr/bin usr/lib

Ardından sürümü kurun ve kontrol edin:

# rpm -ivh nodejs-0.8.18-1.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:nodejs                 ########################################### [100%]

# /usr/bin/node --version
v0.8.18

Kaynak: https://github.com/jordansissel/fpm/wiki/PackageMakeInstall


3
ama doğru yüklediğimi farz ediyorum? hangi kimliği bilmiyorum
qodeninja

9
Yum install gcc-c ++ 'ı
eklemem gerekiyordu

17
Bu teknik olarak doğru olsa da, her türlü bakım veya tekrarlanabilirlik için, ihtiyaç duyulan her makineye kaynaktan manuel olarak oluşturmak ve kurmak yerine paketleri RPM (veya dağıtımınızın ambalajı ne olursa olsun) ile yönetmeniz önemle tavsiye edilir. Aşağıdaki cevapların bir kısmı önceden oluşturulmuş paketlere bağlantı verir.
Jason Antman

5
Node.JS ve ekosistemlerinin herhangi birini RPM üzerinden yönetmeye çalışmak şu an boşuna bir alıştırma, ve bunu Node ve çok sayıda modül paketi içeren kısaca bir repo işleten biri olarak söylüyorum.
jgoldschrafe 25:12

5
@IacacRabinovitch ifPython 2.5'e kadar gelmeyen bir üçlü eklediler . CentOS, Python sistemini 2.4 ya da bazı özel yamalı sürümlerine sabitlemek için RHEL yolunu takip ettiğinden, çözümüm yerine yum install python26 python26-develuygulamak python26 configureüzereydi ./configure. Sonra, MakefilePython scriptlerini de çalıştırdığından, PYTHONiçerisindeki değişkeni python26bunun yerine tanımladım python. Ayrıca, g++oraya ihtiyaç duyacaksınız, bu yüzden henüz yapmadıysanız, yapmalısınız yum install gcc-++.
Hank Gay

64

CentOS 6.x'e sahipseniz ve EPEL deposunu etkinleştirdiyseniz, node / npm düğümünü kurmak için yum kullanabilirsiniz:

$ sudo yum install npm

Yükleme tamamlandıktan sonra, düğümün doğru şekilde kurulduğundan emin olun:

$ node -v

(Gibi bir şey iade etmeli v0.10.36).

Daha sonra Node.js sürümlerini (örneğin, 4.x, 5.x vb.) İstiyorsanız , EPEL yerine Nodesource yum deposunu kullanabilirsiniz.


2
Bu, CentOS 6.4 sistemimde çok iyi çalıştı ve bana node ve npm verdi. 0.10.13 düğümü aldım, en son src tarball 0.10.15'ten biraz. Bu, 'kaynaktan kaynaktan yükleme' seçeneğinin önüne geçerken, öne çıkması için daha fazla ön plana çıkması gerektiği görünüyor.
Neek

1
Takip Bu Epel repo yükleyin.
Lee Chee Kiam,

1
etkin epel deposu çalıştırmasını güncellemek için yum install -y epel-release, node ve npm komutlarını yum ile kurabilirsiniz.
svassr

V4.2.x için yum ile çalışmak için epel veya epel-serbest bırakma alamadım. Aşağıdaki nave.sh cevabı güzel çalıştı.
jcollum

1
Yum ile kurmak bana çok eski bir sürüm v0.10.42 verir ... En son sürümü (şu anda 5.9.0) almak için Node'u yum / rpm ile nasıl kurabilirim?
dokaspar

27

Özü "paket yöneticisi aracılığı node.js Kurulumu" artık CentOS üzerinde nodejs yüklemek için talimatları İÇERMEZ. Fedora 18'den beri, nodejs standart reponun bir parçası olur. Denemek "Epel-fötr nodejs" modası geçmiş 0.6.0 de versiyonunu bırakarak repo ve artık güncelleme bulabilirsiniz.

İyi haber şu ki, bize yardım edecek bir Düğüm için Sanal Ortamlar gibi bir halimiz yok .

https://github.com/isaacs/nave

Düğümleri yüklemek artık çok kolay.

$ wget https://raw.github.com/isaacs/nave/master/nave.sh
$ chmod +x nave.sh
$ ./nave.sh install 0.8.8
$ ./nave.sh use 0.8.8
$ node -v  
v0.8.8

Nave.sh dosyasında, yerel URL'leri, düğümlerin en son dist yapısıyla eşleşecek şekilde değiştirmeniz gerekebilir. 0.11.0 için nave.sh dosyasını şu URL olacak şekilde değiştirdim

" http://nodejs.org/dist/v $ version / node-v $ sürüm-linux-x64.tar.gz"


1
nodejs.tchol.org artık öldü
13'te açıklandı

@ explunit Ben sadece cevabı güncelleyin. Lütfen nefesini dene.
user974312

FYI Bu sadece bu kullanıcı için kuruyor gibi gözüküyor. Tüm sistem için kurmak istiyorsanız: ./nave.sh usemain <sürümünüz>
awl

"nodejs standart deponun bir parçası olur" - CentOS 7'de inanılmaz derecede güncel değil. Yüklenen sürüm v10.x'dir (BT bölümümüzün yine de kullandığı CentOS'ta).
jcollum

13

CentOS için

yum install gcc-c++ make git
cd /usr/local/src/
git clone git://github.com/joyent/node.git
cd node
./configure
make
make install

2
Düğüm projesine katkıda bulunmayı planlamıyorsanız, github sürümünü değil, yayımlanmış bir sürümü kullanıyor olmalısınız.
BT

11

[Düzenle] Aşağıdaki yorumlarda nodejs.tchol.org sitesinin artık bir spam sitesine (sic!) İşaret ettiğini belirttiğiniz için teşekkür ederiz David. Bu cevap artık işe yaramıyor!

Chris'in çözümünde anlattığı yöntemin CentOS 5.4'te işe yaradığını onaylayabilirim (bir dakika önce yaptım :))

wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
yum install nodejs-compat-symlinks npm

Not: Tabiki kurabilmek için root olmanız (veya sudo kullanmanız) gerekir.

Kaynaktan yüklemenin yanı sıra (her zaman bir seçenek olan) belki hala bir alternatif var: burada “node.js Aralık 2012'den itibaren Fedora Rawhide'a kabul edildi ve Fedora 18'de kullanıma sunulacak” yazısını okudum. , bu yüzden belki standart CentOS depolarına girebilir.

Şuna bir bakacağım ..


3
Bu CentOS 6'da çok güzel çalıştı. Teşekkürler!
KyleFarris

12
"nodejs.tchol.org" şimdi öldü
David Newcomb

2
Bu yüzden sadece kaynaktan yüklemelisiniz. Korkma
John Hunt,

2
@JohnHunt Kaynaktan yükleme, daha fazla temiz bir şekilde kaldıramayacağınız anlamına gelir. Ruby ile de aynı sorunu yaşadım. Neyse ki, VM görüntüsünü geri alabilirim ... Kaynaktan yükleme, yüklediğiniz paketi derinlemesine anlamanız gerektiği anlamına gelir. Binlerce linux paketi bulunduğunu düşünürsek, bu bir seçenek değil!
Christian

1
"Yukarıdaki bağlantı"? Cevaplar oylamaya göre sıralanır ve Chris artık sizinkilerin altında.
Isaac Rabinovitch

10

Yukarıda belirtildiği gibi, "tchol.org", CentOS milletinin bir paket yöneticisini kullanmayı bırakmaya ya da başka bir işletim sistemine geçmeyi bırakmaya bırakarak gitmiştir. Deneysel / dev kutuların dışındaki her şeyi (tekrar) yapanlara karşı kendimle bir antlaşma yaptım.

Neyse ki, hala mevcut olan rms'ler vardır: http://patches.fedorapeople.org/oldnode/stable/el6/x86_64/

Yum'u geçersiz siteye yönlendiren repo-installer'ın rpm'sini yok saymanız yeterli. Çok eski hale gelene kadar, bu bize biraz zaman kazandırmalı.

Gözlerimi yeni repolar için açık tutacağım ve bulursam geri göndereceğim.


Bağlantınızdaki 0.6 sürümü zaten oldukça eski olduğunu söyleyebilirim. Bu RHEL / CentOS için gerçekten iyi seçenekler düşünüldüğünde garip olan şu anda orada görünüyor Red Hat kendisi node.js PaaS sunmaktadır
explunit

8

Bu benim için CentOS 5.7’de çalıştı:

yum install openssl-devel 
yum install python27
yum install gcc-c++
cd /usr/local/src
wget http://nodejs.org/dist/node-latest.tar.gz
tar zxvf node-latest.tar.gz
cd node-v[tab]
python2.7 configure
make PYTHON=python2.7
make install

3
Python 2.7 repo'da olmadığı için CentOS 5.10'umda python 2.6 kullanmalıyım.
ohho

7

Diğer cevaplarda listelemediğim bir yaklaşım daha var ve bu, Linux için 0.8.6'dan beri yayınlanan ikili dağıtımları kullanmak.

İşte kullandığım senaryo:

# get the latest stable binary 
latest_node=$(curl http://nodejs.org/dist/latest/SHASUMS.txt | grep 'linux-x64.tar.gz' | awk '{ print $2 }')
wget -O ~/nodestable.tar.gz http://nodejs.org/dist/latest/$latest_node
cd /usr/local/
sudo tar xzvf ~/nodestable.tar.gz --strip=1

Veya belirli bir versiyon istiyorsanız (örneğin, 0.8 serisinde kalmak için):

wget http://nodejs.org/dist/v0.8.22/node-v0.8.22-linux-x64.tar.gz
cd /usr/local/
sudo tar xzvf ~/node-v0.8.22-linux-x64.tar.gz --strip=1

Ve benim için CentOS 6.3'te, aşağıdaki bağlantıları eklemek zorunda kaldım, böylece düğüm ve npm komutları normal kullanıcıdan ya da sudo'dan çalıştı. Sürümünüze bağlı olarak gerekli olmayabilir.

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

Açıkçası, CentOS / RHEL'deki node.js için durum oldukça kötü, çünkü repoların hiçbirinde node.js bulunmuyor ( burada ilgili soruya bakın ). Bu cevap, kaynaktan derleme için daha önce de belirtildiği gibi aynı dezavantajlara sahiptir.


7

Yukarıdaki cevaplar eski

KÖK OLARAK

curl -sL https://rpm.nodesource.com/setup | bash -
yum install -y nodejs

ve bitti.

yüklemenizi doğrulayın

node -v

Curl sürümüm, URL'nin SSL sertifikasının İmza Yetkilisi'ne benzemiyor ve bu nedenle komut dosyası sessizce başarısız oluyor. Curl -k seçeneğini kullanarak onu geçebilirsiniz.
Spike Williams

Ayrıca, yukarıdaki curl komutuna -k ekledikten sonra, indirilen "setup" betiğindeki bu alandan gelen indirme curl referansını da güncellemeniz gerekir. Sonra bu betiği bash kullanarak elle çalıştırın.
Spike Williams

5

Hiç kimsenin nvm(çoklu) güvenli ve kolay şekilde kullanabileceğinden bahsedilmedi . Düğüm kurulumları https://github.com/creationix/nvm ? Onu çok yararlı buluyorum.

Çok fazla, komut dosyası olmadan Düğüm bırakma dosyaları ağaç ve böylece özel rpm paketleri oluşturmak için bile faydalıdır latest-node, wget, ./configure, make, make installfilan.

nvm install 0.10.9

İkili dosyaları indirir veya yayımlamaya göre kaynak kodu derler.


çevrimdışı yükleme var mı?
amit patel,

4

Node.js v4 LTS Argon için RHEL, CentOS veya Fedora'da root olarak çalıştırın:

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

Alternatif olarak, Node.js v5 için:

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

Alternatif olarak, Node.js 0.10 için:

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

Ardından root olarak kurun:

yum -y install nodejs

kaynak: https://nodejs.org/en/download/package-manager/


CentOS 7.2 için çalışan tek cevap. Ve çok hızlı ve mükemmel bir şekilde çalıştı.
toToBhuwan

öneri: README gelen kesin talimatlar GitHub'dan NVM projeyi ziyaret edip alıyorum: github.com/creationix/nvm#installation
Kay V

3

Burada bir .spec dosyası ile birlikte bazı düz ileri talimatları var:

http://www.chrisabernethy.com/installing-node-js-on-centos-redhat/

Bunu kaynağından derleyeceksiniz, bu nedenle sisteminizde (gcc ve friends) bunu yapmak için gerekli tüm paketlerin olmasını sağlamalısınız. Bu talimat seti bir RPM oluşturmak içindir, bu yüzden eğer gerekli paketleri kaçırırsanız, rpmbuild size ilk önce hangilerini yüklemeniz gerektiğini bildirecektir.


1
Sunucu Arızasına Hoşgeldiniz! Bu soruyu teorik olarak cevaplayabilse de , cevabın temel kısımlarını buraya eklemek ve referans için bağlantıyı sağlamak tercih edilir.
user9517 14:11

Ayrıca, bağlantı CentOS 5 kurulumumda görünmeyen / usr / src / redhat ile ilgilidir (doğru anlıyorsam / usr / local / src konumunda)
Kato

2
Son değişiklikler aynı zamanda insanların Python kurulumlarını güncellemelerini (ya da Python 2.4 kullanan herhangi bir CentOS sunucusunda çalışmayacaklarını yapılandırmayı) gerektirir. Bilgiyi tazelemeyi ve buraya yerleştirmeyi düşünün?
Tim Post

3

Ayrıca npm'ye de ihtiyacınız olacak

git clone https://github.com/isaacs/npm.git
cd npm
sudo make install

amy değil, düğümle birlikte gelir.
ThomasReggi

3

Nodebrew kullanabilirsiniz . $ curl -L git.io/nodebrew | perl - setup $ export PATH=$HOME/.nodebrew/current/bin:$PATH $ source ~/.bashrc $ nodebrew install-binary latest $ nodebrew use latest $ node -v


2

Ubuntu için bu benim için 0.4.10 versiyonunda işe yaradı.

cd /usr/local/src/
sudo wget http://nodejs.org/dist/node-v0.4.10.tar.gz
sudo tar zxvf node-v0.4.10.tar.gz 
cd node-v0.4.10/
sudo ./configure 
sudo make
sudo make install

soru CentOS için
jcollum

2

işte centOS 7’de v0.10.36 düğümünü yükleyen Docker dosyam

FROM centos:7

RUN    yum -y update
RUN    yum -y install vi, vim, unzip, tar
RUN    yum -y install wget, curl, git

RUN    yum -y install epel-release
RUN    yum -y install npm

2

Sürüm 4+ için cevabım:

yum -y install wget
wget https://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-x64.tar.gz
tar xzf node-v4.0.0-linux-x64.tar.gz -C /usr/local
rm -rf node-v4.0.0-linux-x64.tar.gz
mv /usr/local/node-v4.0.0-linux-x64 /usr/local/node
ln -s /usr/local/node/bin/node /usr/bin/node
ln -s /usr/local/node/bin/npm /usr/bin/npm

En son sürümün indirme bağlantısını bulmak için https://nodejs.org/dist/latest/ klasörüne bakın .


Bu Plesk'i çalıştıran CentOS sunucusundan kurtardı - gcc çok eski olduğu için kaynaktaki en son sürüm (5) başarısız oluyor. Gcc'yi güncellerdim ama genellikle yumles üzerinden elle bir şey güncellemek çığlık atan bir çocuğa dönüşür.
twistedpixel

4.x kararlı bir katran var mı? Cevap birkaç versiyon değişikliğinden kurtulursa daha iyi olur.
jcollum

Yanıtımı, dağıtıma özgü yüklemeyi bulabileceğiniz en son dağıtım klasörüne bir bağlantı içerecek şekilde düzenledim.
Evan Siroky

1

Aşağıdaki kod CentOS 6'da oldukça iyi çalıştı

wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm
yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm
yum install nodejs-compat-symlinks npm

Artık çalışmıyor, http://nodejs.tchol.org artık çevrimiçi değil.


Çalışıyordu. Bu makine artık görünmüyor artık yok.
rox0r

1

Çok uzun zaman önce RHEL 5.8’de bu yüklemeyi kendim yapma görevine girdim. Ne yazık ki, nodejs.tchol.org çevrimdışı duruma geçerken, tek seçenek onu kaynaktan oluşturmaktır.

Ancak, derleme betiği, RHEL'deki Python'un varsayılan sürümüyle çalışmayan python kodunu içerdiğinden, derleme işlemi biraz karmaşıklaştı. Çok sayıda deneme yanılma (ve çok fazla googling) yaptıktan sonra, gerekli olan aşağıdaki görevlere temelde atılacak bir adım tanımlayan bu blog gönderisini buldum.

a. Python 2.6'yı yükleyin b. Bu python sürümünü alternatif bir sürüm olarak ayarlayın, ardından varsayılan olarak ayarlayın c. node.js dosyasını yapılandırın ve kurun d. Python'u varsayılan 2.4 sürümüne geri döndürme.

Anahtar, daha sonra Python 2.4'e geri dönmeniz gerektiği; Aksi takdirde, yum gibi basit şeyler başarısız olur.

http://www.robeesworld.com/blog/31/installing_node_js_0_8_under_centos_5_8


1

En yüksek oy alan cevabı kullanarak kurduktan sonra, Sudo izinleri olmadan herhangi bir global modül (-g) kuramadım. NPM güncellemesi hata gösterdi. Aşağıdaki yöntem benim için mükemmel çalıştı, SU veya SUDO izinlerine gerek yok.

Aşağıdaki yöntemi kullanarak Node.js ve NPM'yi yükledim ( https://gist.github.com/isaacs/579814 ), ancak bu sayfada deesejohn tarafından yayınlanan bir yorumdan gelen tavsiyeye göre iki komut satırı değiştirdim.

cd
sudo yum install gcc-c++
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=$HOME/local
make install
curl -L https://www.npmjs.org/install.sh | sh

node -vVe kullanarak yüklü sürümünü kontrol etnpm -v

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.