Pertanyaan Bagaimana Anda menginstal Node.JS di CentOS?


Saya telah menemukan banyak petunjuk penginstalan untuk Node.js tetapi semuanya tampak begitu rumit - saya bukan admin sys super tapi saya bisa berkeliling. Saya punya yum di sistem, tetapi saya tidak menemukan paket node.js apa pun, dan saya tidak yakin bagaimana cara mengkompilasi kode di server atau di mana harus meletakkannya.


130
2017-08-09 16:15




Terima kasih atas jawaban yang bagus semua orang. Saya yakin Anda dapat menginstal kedua nodejs dan npm sekarang! luar biasa - qodeninja
dl.fedoraproject.org/pub/epel/6/x86_64/repoview/nodejs.html - Yolo Perdiem
... dengan EPEL (instal instruksi jika Anda belum memiliki repo: rackspace.com/knowledge_center/article/…). - geerlingguy
Saya tidak berpikir hal-hal EPEL bekerja lagi - atau tidak berfungsi di Centos 7. - jcollum


Jawaban:


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

Perhatikan bahwa ini membutuhkan Python 2.6+ untuk digunakan ./configure atas. Anda dapat memodifikasi file "configure" untuk menunjuk ke python2.7 di baris 1 jika perlu.

Untuk membuat paket RPM, Anda dapat menggunakan 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

Sekarang buat nodejs paket:

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

Kemudian instal dan periksa versinya:

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

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

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


139
2018-05-19 17:44



tapi itu dengan asumsi saya sudah menginstalnya kan? id apa yang saya tidak? - qodeninja
Saya perlu memasukkan yum install gcc-c ++ - Yehosef
Meskipun ini secara teknis benar, untuk segala jenis pemeliharaan atau pengulangan, sangat disarankan untuk mengelola paket melalui RPM (atau apa pun kemasan distro Anda) daripada membangun dan memasang secara manual dari sumber pada setiap mesin yang diperlukan. Sejumlah jawaban di bawah ini menautkan ke paket yang dibuat sebelumnya. - Jason Antman
Mencoba untuk mengelola Node.JS dan setiap ekosistemnya melalui RPM sekarang adalah sebuah latihan dalam kesia-siaan, dan saya mengatakan ini sebagai seseorang yang sebentar menjalankan yum repo yang berisi Node dan sejumlah paket modul. - jgoldschrafe
@IsaacRabinovitch Mereka menambahkan sebuah terner if, yang tidak terjadi sampai Python 2.5. Karena CentOS mengikuti jalur RHEL mengelompokkan sistem Python ke beberapa versi custom-patch 2.4, solusi saya adalah yum install python26 python26-devel dan kemudian jalankan python26 configure dari pada ./configure. Kemudian, sejak itu Makefile juga menjalankan skrip Python, saya mendefinisikan PYTHON variabel di sana menjadi python26 dari pada python. Juga, Anda akan membutuhkannya g++ di sana, jadi jika Anda belum melakukannya, Anda harus yum install gcc-++. - Hank Gay


Jika Anda memiliki CentOS 6.x, dan miliki mengaktifkan repositori EPEL, Anda dapat menggunakan yum untuk menginstal node / npm:

$ sudo yum install npm

Setelah instalasi selesai, periksa untuk memastikan bahwa node sudah disetel dengan benar:

$ node -v

(Haruskah mengembalikan sesuatu seperti v0.10.36).

Jika Anda ingin versi Node.js yang lebih baru (misalnya 4.x, 5.x, dll.), Anda dapat menggunakan Nodesource yum repositori bukannya EPEL.


63
2018-03-09 14:14



Ini bekerja dengan baik pada sistem CentOS 6.4 saya dan memberi saya node dan npm. Saya mendapat node 0.10.13, hanya sedikit dari tarbal src terbaru 0.10.15. Tampaknya kebutuhan ini naik lebih untuk menonjol karena mengalahkan opsi 'instal dari sumber'. - Neek
Mengikuti ini menginstal EPEL repo. - Lee Chee Kiam
untuk memperbarui mengaktifkan menjalankan repositori epel yum install -y epel-release, maka Anda dapat menginstal node dan npm dengan yum. - svassr
Saya tidak bisa mendapatkan epel atau rilis-epel untuk bekerja dengan yum untuk v4.2.x. Jawaban nave.sh di bawah ini bekerja dengan sangat baik. - jcollum
Instalasi melalui yum memberi saya versi yang sangat lama v0.10.42 ... Bagaimana saya dapat menginstal Node melalui yum / rpm untuk mendapatkan versi terbaru (saat ini 5.9.0)? - dokaspar


Intinya "Memasang Node.js melalui manajer paket" TIDAK mengandung petunjuk untuk menginstal nodejs di CentOS lagi. Sejak Fedora 18, nodejs menjadi bagian dari repo standar. saya coba "epel-fedora-nodejs" repo, dan menemukannya tidak lagi memperbarui, meninggalkan versi pada 0.6.0 yang sudah ketinggalan zaman.

Kabar baiknya adalah itu, kami punya nave, Lingkungan Virtual untuk Node, untuk membantu kami.

https://github.com/isaacs/nave

Instalasi nodejs sudah mati sekarang.

$ 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

Dalam file nave.sh, Anda mungkin harus mengubah url lokal ke pertandingan dengan struktur dist terbaru dari nodejs. Untuk 0.11.0 saya mengubah nave.sh untuk memiliki URL berikut

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


27
2017-10-25 09:12



nodejs.tchol.org sudah mati sekarang - explunit
@explunit Saya baru saja memperbarui jawabannya. Silakan coba nave. - user974312
FYI Ini tampaknya menginstalnya hanya untuk pengguna ini. Jika Anda ingin menginstalnya untuk seluruh sistem: ./nave.sh usemain <versi Anda> - awl
"nodejs menjadi bagian dari repo standar" - di CentOS 7 itu sangat ketinggalan zaman. Versi yang diinstal adalah v10.x (pada CentOS yang digunakan oleh dept IT kami). - jcollum


Untuk CentOS

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

13
2018-05-07 15:11



Anda harus menggunakan versi rilis bukan versi github, kecuali Anda berencana berkontribusi pada proyek node. - B T


[Sunting] Terima kasih David untuk menunjukkan di bawah komentar bahwa nodejs.tchol.org situs sekarang mengarah ke situs spam (sic!) .. Jadi jawaban ini tidak berfungsi lagi, jangan gunakan!

Saya dapat mengonfirmasi bahwa metode yang dijelaskan Chris dalam solusinya bekerja di CentOS 5.4 (saya telah melakukannya beberapa menit yang lalu :))

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

PS: tentu saja Anda harus menjadi root (atau menggunakan sudo) untuk menginstalnya ..

Selain menginstal dari sumber (yang selalu menjadi pilihan) mungkin masih ada alternatif: di sini saya membaca itu  "node.js telah diterima di Fedora Rawhide pada Desember 2012 dan akan tersedia di Fedora 18.", jadi mungkin akhirnya akan masuk ke repositori CentOS standar

Saya akan melihat ini ..


11
2018-01-04 05:17



Ini bekerja dengan baik di CentOS 6. Terima kasih! - KyleFarris
"nodejs.tchol.org" sudah mati sekarang - David Newcomb
Maka Anda harus menginstal dari sumber. Jangan takut. - John Hunt
@JohnHunt Menginstal dari sumber berarti Anda tidak dapat menghapusnya dengan bersih lagi. Saya punya masalah yang sama dengan Ruby. Untungnya, saya hanya bisa me-rollback gambar VM ... Menginstal dari sumber berarti Anda harus memiliki pemahaman yang mendalam tentang paket yang Anda pasang. Mempertimbangkan ada ribuan paket linux, ini bukan pilihan! - Christian
"Tautan di atas"? Jawaban diurutkan berdasarkan suara, dan Chris sekarang di bawah Anda. - Isaac Rabinovitch


Seperti disebutkan di atas, "tchol.org" hilang, meninggalkan orang-orang CentOS yang melihat baik mengabaikan penggunaan pengelola paket, atau beralih ke OS lain. Saya membuat perjanjian dengan diri saya sendiri terhadap setiap melakukan yang pertama (lagi) di semua kotak kecuali eksperimental / dev.

Untungnya, ada rpms masih tersedia di: http://patches.fedorapeople.org/oldnode/stable/el6/x86_64/

Abaikan saja rpm untuk repo-installer, yang mengarahkan yum ke situs yang mati. Itu harus memberi kita sedikit waktu, kecuali / sampai mereka menjadi terlalu usang.

Saya akan terus membuka mata untuk repositori yang lebih baru, dan posting kembali jika saya menemukannya.


10
2018-04-14 19:27



Saya akan mengatakan versi 0.6 di tautan Anda sudah cukup usang. Sepertinya tidak ada pilihan bagus untuk RHEL / CentOS sekarang, yang aneh mengingat itu Red Hat sendiri menawarkan node.js PaaS - explunit


Ini berhasil bagi saya di CentOS 5.7:

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

8
2018-02-18 19:51



Saya harus menggunakan python 2.6 pada CentOS 5.10 saya, karena python 2.7 tidak di repo. - ohho


Ada satu lagi pendekatan yang belum pernah saya lihat dalam salah satu jawaban lainnya, dan itu adalah menggunakan distribusi biner untuk Linux yang telah diterbitkan sejak 0,8,6

Berikut skrip yang saya gunakan:

# 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

Atau, jika Anda menginginkan versi tertentu (mis. Untuk tetap menggunakan seri 0.8):

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

Dan bagi saya di CentOS 6.3, saya harus menambahkan tautan berikut ini sehingga perintah node dan npm bekerja baik dari pengguna biasa atau dari sudo. Mungkin tidak diperlukan tergantung pada versi Anda.

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

Terus terang, situasi untuk node.js di CentOS / RHEL agak buruk, karena tidak ada repo termasuk node.js (lihat pertanyaan terkait di sini). Jawaban ini memiliki kerugian yang sama seperti yang disebutkan sebelumnya untuk kompilasi dari sumber.


7
2017-11-08 00:50