ฉันได้พบคำแนะนำในการติดตั้งจำนวนมากสำหรับ Node.js แต่พวกเขาดูเหมือนจะซับซ้อนมาก - ฉันไม่ใช่ผู้ดูแลระบบที่ยอดเยี่ยม แต่ฉันสามารถไปไหนมาไหนได้ ฉันมียู่บนระบบ แต่ฉันไม่พบแพ็คเกจ node.js และฉันไม่แน่ใจว่าจะรวบรวมรหัสบนเซิร์ฟเวอร์หรือที่ใดที่จะวางไว้
ฉันได้พบคำแนะนำในการติดตั้งจำนวนมากสำหรับ Node.js แต่พวกเขาดูเหมือนจะซับซ้อนมาก - ฉันไม่ใช่ผู้ดูแลระบบที่ยอดเยี่ยม แต่ฉันสามารถไปไหนมาไหนได้ ฉันมียู่บนระบบ แต่ฉันไม่พบแพ็คเกจ node.js และฉันไม่แน่ใจว่าจะรวบรวมรหัสบนเซิร์ฟเวอร์หรือที่ใดที่จะวางไว้
คำตอบ:
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
โปรดทราบว่านี่ต้องใช้ Python 2.6+ เพื่อใช้งาน./configure
ด้านบน คุณสามารถแก้ไขไฟล์ "configure" ให้ชี้ไปที่python2.7
บรรทัด 1 หากจำเป็น
ในการสร้างแพ็คเกจ RPM คุณสามารถใช้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
ตอนนี้ทำnodejs
แพคเกจ:
# fpm -s dir -t rpm -n nodejs -v 0.8.18 -C /tmp/nodejs/ usr/bin usr/lib
จากนั้นติดตั้งและตรวจสอบเวอร์ชั่น:
# rpm -ivh nodejs-0.8.18-1.x86_64.rpm
Preparing... ########################################### [100%]
1:nodejs ########################################### [100%]
# /usr/bin/node --version
v0.8.18
ที่มา: https://github.com/jordansissel/fpm/wiki/PackageMakeInstall
if
ซึ่งไม่ได้เกิดขึ้นจนกว่า Python 2.5 ตั้งแต่ CentOS ตามเส้นทางของ RHEL pegging หลามระบบบางรุ่นที่กำหนดเอง patched 2.4 วิธีการแก้ปัญหาของฉันคือการyum install python26 python26-devel
แล้วรันแทนpython26 configure
./configure
จากนั้นตั้งแต่Makefile
ยังรันสคริปต์หลามผมกำหนดPYTHON
ตัวแปรในการที่จะมีแทนpython26
python
นอกจากนี้คุณยังจะต้องเกี่ยวกับการมีดังนั้นถ้าคุณยังไม่ได้คุณควรg++
yum install gcc-++
หากคุณมี CentOS 6.x และเปิดใช้งานที่เก็บ EPELคุณสามารถใช้ yum เพื่อติดตั้ง node / npm:
$ sudo yum install npm
หลังจากการติดตั้งเสร็จสิ้นให้ตรวจสอบเพื่อให้แน่ใจว่าการตั้งค่าโหนดถูกต้อง
$ node -v
(ควรส่งคืนสิ่งที่ชอบv0.10.36
)
หากคุณต้องการรุ่นที่ใหม่กว่าของ Node.js (เช่น 4.x, 5.x เป็นต้น) คุณสามารถใช้ที่เก็บ Nodesource yumแทน EPEL
yum install -y epel-release
จากนั้นคุณสามารถติดตั้งโหนดและ npm ด้วย yum
ส่วนสำคัญ"การติดตั้ง Node.js ผ่านตัวจัดการแพ็กเกจ"ไม่มีคำแนะนำสำหรับการติดตั้ง nodejs บน CentOS อีกต่อไป ตั้งแต่ Fedora 18, nodejs กลายเป็นส่วนหนึ่งของ repo มาตรฐาน ฉันลอง"repel-fedora-nodejs" repo และพบว่ามันไม่ได้อัปเดตอีกต่อไปโดยปล่อยเวอร์ชั่นที่ล้าสมัย 0.6.0
ข่าวดีก็คือว่าเรามีโบสถ์สภาพแวดล้อมเสมือนจริงสำหรับโหนดเพื่อช่วยเรา
https://github.com/isaacs/nave
การติดตั้ง nodejs นั้นตายง่าย ๆ ในตอนนี้
$ 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 คุณอาจต้องเปลี่ยน URL โลคัลเป็นคู่ที่ตรงกับโครงสร้าง dist ล่าสุดของ nodejs สำหรับ 0.11.0 ฉันเปลี่ยน nave.sh เป็น URL ต่อไปนี้
" http://nodejs.org/dist/v $ version / node-v $ version-linux-x64.tar.gz"
สำหรับ 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
[แก้ไข]ขอบคุณ David ที่ชี้ให้เห็นในความคิดเห็นด้านล่างว่าตอนนี้เว็บไซต์nodejs.tchol.orgชี้ไปที่เว็บไซต์สแปม (sic!) .. ดังนั้นคำตอบนี้ใช้ไม่ได้อีกต่อไปอย่าใช้มัน!
ฉันสามารถยืนยันได้ว่าวิธีที่ Chris อธิบายไว้ในโซลูชันของเขาทำงานใน CentOS 5.4 (ฉันได้ทำไปแล้วหนึ่งนาทีที่ผ่านมา :))
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: แน่นอนคุณต้องรูท (หรือใช้ sudo) เพื่อติดตั้ง
นอกเหนือจากการติดตั้งจากแหล่งที่มา (ซึ่งเป็นตัวเลือกเสมอ) อาจยังมีทางเลือก: ที่นี่ฉันอ่านว่า "node.js ได้รับการยอมรับใน Fedora Rawhide ณ เดือนธันวาคม 2555 และจะมีใน Fedora 18" ดังนั้นในที่สุดมันก็อาจเข้าไปในคลังเก็บ CentOS มาตรฐานได้
ฉันจะดูที่นี้ ..
ดังที่กล่าวไว้ข้างต้น "tchol.org" หายไปปล่อยให้ CentOS folks มองหาการละทิ้งการใช้ตัวจัดการแพคเกจหรือเปลี่ยนไปใช้ระบบปฏิบัติการอื่น ฉันทำข้อตกลงกับตัวเองกับทุก ๆ การทำอดีต (อีกครั้ง) ในทุก ๆ ยกเว้นการทดลอง / กล่อง dev
โชคดีที่ยังมี rpms อยู่ที่: http://patches.fedorapeople.org/oldnode/stable/el6/x86_64/
เพียงแค่ละเว้นรอบต่อนาทีสำหรับ repo-installer ซึ่งจะนำยำไปยังเว็บไซต์ที่หมดอายุ นั่นควรซื้อเราสักครู่เว้นแต่ / จนกว่าพวกเขาจะล้าสมัยเกินไป
ฉันจะทำให้ตาของฉันเปิดใหม่ repos และโพสต์กลับถ้าฉันพบพวกเขา
สิ่งนี้ใช้ได้กับฉันใน 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
มีอีกวิธีหนึ่งที่ฉันไม่ได้เห็นในคำตอบอื่น ๆ และนั่นคือการใช้การแจกแจงแบบไบนารีสำหรับ Linux ซึ่งเผยแพร่ตั้งแต่ 0.8.6
นี่คือสคริปต์ที่ฉันใช้:
# 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
หรือหากคุณต้องการรุ่นที่เฉพาะเจาะจง (เช่นอยู่ในซีรี่ส์ 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
และสำหรับฉันใน CentOS 6.3 ฉันต้องเพิ่มลิงค์ต่อไปนี้เพื่อให้คำสั่งโหนดและ npm ทำงานได้ทั้งจากผู้ใช้ทั่วไปหรือจาก sudo อาจไม่จำเป็นขึ้นอยู่กับรุ่นของคุณ
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
ตรงไปตรงมาสถานการณ์สำหรับ node.js บน CentOS / RHEL ค่อนข้างไม่ดีเนื่องจากไม่มี repos ใด ๆ ที่รวม node.js (ดูคำถามที่เกี่ยวข้องที่นี่ ) คำตอบนี้มีข้อเสียเช่นเดียวกับที่กล่าวไว้ก่อนหน้าสำหรับการรวบรวมจากแหล่งที่มา
คำตอบข้างต้นล้าสมัยแล้ว
ตามรูท
curl -sL https://rpm.nodesource.com/setup | bash -
yum install -y nodejs
และคุณทำเสร็จแล้ว
ตรวจสอบการติดตั้งของคุณด้วย
node -v
ไม่มีใครพูดถึงnvm
การจัดการ (หลายรายการ) อย่างปลอดภัยและง่ายดายการติดตั้งโหนดhttps://github.com/creationix/nvm ? ฉันคิดว่ามันมีประโยชน์มาก
แม้จะมีประโยชน์ในการสร้างโหนดไฟล์ปล่อยต้นไม้และแพคเกจที่กำหนดเองรอบต่อนาทีโดยไม่ต้องเขียนสคริปต์มากเกินไปlatest-node
, wget
, ./configure
, make
, make install
blah blah
nvm install 0.10.9
จะดาวน์โหลดไบนารีหรือคอมไพล์ซอร์สโค้ดตามรุ่น
ทำงานในฐานะ root บน RHEL, CentOS หรือ Fedora สำหรับ Node.js v4 LTS Argon:
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
อีกทางเลือกหนึ่งสำหรับ Node.js v5:
curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
อีกทางเลือกหนึ่งสำหรับ Node.js 0.10:
curl --silent --location https://rpm.nodesource.com/setup | bash -
จากนั้นติดตั้งตามรูท:
yum -y install nodejs
แหล่งที่มา: https://nodejs.org/en/download/package-manager/
ฉันมีคำแนะนำตรงไปตรงมาสวยพร้อมด้วยไฟล์. spec ที่นี่:
http://www.chrisabernethy.com/installing-node-js-on-centos-redhat/
คุณจะรวบรวมจากแหล่งที่มาดังนั้นคุณจะต้องแน่ใจว่าคุณมีแพ็คเกจที่จำเป็นทั้งหมดสำหรับการทำเช่นนั้นในระบบของคุณ (gcc และเพื่อน ๆ ) ชุดคำสั่งนี้ใช้สำหรับสร้าง RPM ดังนั้นหากคุณไม่มีแพ็คเกจที่จำเป็น rpmbuild จะแจ้งให้คุณทราบว่าคุณต้องติดตั้งชุดใดก่อน
คุณจะต้องมี npm ด้วย
git clone https://github.com/isaacs/npm.git
cd npm
sudo make install
สำหรับ Ubuntu สิ่งนี้ใช้ได้กับฉันสำหรับรุ่น 0.4.10
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
นี่คือ Dockerfile ของฉันซึ่งติดตั้งโหนด v0.10.36 ใน centOS 7
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
คำตอบของฉันสำหรับรุ่น 4+:
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
ตรวจสอบในโฟลเดอร์https://nodejs.org/dist/latest/เพื่อค้นหาลิงค์ดาวน์โหลดสำหรับเวอร์ชั่นล่าสุด
โค้ดด้านล่างทำงานได้ดีใน CentOS 6
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
มันไม่ทำงานอีกต่อไปhttp://nodejs.tchol.orgไม่ได้ออนไลน์อีกต่อไป
ฉันผ่านภารกิจของการติดตั้งนี้ด้วยตนเองบน RHEL 5.8 เมื่อไม่นานมานี้ น่าเสียดายที่ nodejs.tchol.org กำลังออฟไลน์ตัวเลือกเดียวคือสร้างจากแหล่งที่มา
อย่างไรก็ตามกระบวนการสร้างค่อนข้างซับซ้อนเนื่องจากสคริปต์การสร้างเกี่ยวข้องกับรหัสหลามที่ไม่สามารถใช้งานได้กับรุ่นเริ่มต้นของ Python บน RHEL หลังจากการทดลองและข้อผิดพลาดมากมาย (และ googling จำนวนมาก) ฉันพบโพสต์บล็อกนี้ซึ่งโดยทั่วไปจะอธิบายขั้นตอนในงานต่อไปนี้ที่จำเป็น
ติดตั้ง Python 2.6 b ตั้งค่าเวอร์ชันของไพ ธ อนนั้นเป็นเวอร์ชันสำรองจากนั้นตั้งเป็นเวอร์ชันเริ่มต้น c กำหนดค่าและติดตั้ง node.js d การสลับ Python กลับไปเป็นเวอร์ชั่น 2.4 เริ่มต้น
กุญแจสำคัญคือคุณควรเปลี่ยนกลับไปเป็น Python 2.4 หลังจากนั้น มิฉะนั้นสิ่งง่าย ๆ อย่างยำจะล้มเหลว
http://www.robeesworld.com/blog/31/installing_node_js_0_8_under_centos_5_8
หลังจากติดตั้งโดยใช้คำตอบที่ได้รับความนิยมสูงสุดฉันไม่สามารถติดตั้งโมดูลส่วนกลาง (-g) ใด ๆ โดยไม่ได้รับอนุญาตจาก Sudo การอัพเดต NPM แสดงข้อผิดพลาด วิธีการด้านล่างนี้ใช้งานได้สมบูรณ์แบบสำหรับฉันไม่จำเป็นต้องใช้สิทธิ์ SU หรือ SUDO
ฉันติดตั้ง Node.js และ NPM โดยใช้วิธีด้านล่างที่นำมาจาก ( https://gist.github.com/isaacs/579814 ) แต่ได้แก้ไขคำสั่งสองบรรทัดตามคำแนะนำจากความคิดเห็นที่โพสต์โดย deesejohn ในหน้านั้น
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 -v
และnpm -v