سؤال كيف تقوم بتثبيت Node.JS على CentOS؟


لقد وجدت العديد من إرشادات التثبيت لـ Node.js ولكنها تبدو معقدة جدًا - لست مشرفًا متميزًا ولكن يمكنني التحايل. لدي yum على النظام ، ولكن لم أجد أي حزم node.js ، ولست متأكداً من كيفية تجميع التعليمات البرمجية على الخادم أو مكان وضعها.


130
2017-08-09 16:15


الأصل


شكرا على الإجابات الرائعة للجميع. أعتقد أنك تستطيع yum تثبيت كل من nodejs و npm الآن! رائع - qodeninja
dl.fedoraproject.org/pub/epel/6/x86_64/repoview/nodejs.html - Yolo Perdiem
... مع EPEL (تعليمات التثبيت إذا لم يكن لديك بالفعل الريبو: rackspace.com/knowledge_center/article/...). - geerlingguy
لا أعتقد أن مادة EPEL تعمل بعد الآن - أو لا تعمل في Centos 7. - jcollum


الأجوبة:


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 في الاعلى. يمكنك تعديل ملف "التكوين" للإشارة إليه python2.7 في السطر 1 إذا لزم الأمر.

لإنشاء حزمة RPM ، يمكنك استخدامها التيار الوطني الحر:

# 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


139
2018-05-19 17:44



ولكن هذا ما افترضه بأنني قمت بالتركيب الصحيح؟ ما معرفت أنا لا؟ - qodeninja
كنت بحاجة إلى تضمين yum install gcc-c ++ - Yehosef
في حين أن هذا صحيح تقنيًا ، لأي نوع من الصيانة أو التكرار ، فمن المستحسن إدارة الحزم عبر RPM (أو أياً كانت حزم التوزيعة الخاصة بك) بدلاً من الإنشاء والتثبيت يدويًا من المصدر على كل جهاز عند الحاجة إليه. يرتبط عدد من الإجابات أدناه بحزم سابقة التصنيع. - Jason Antman
إن محاولة إدارة Node.JS وأي نظام من النظام الإيكولوجي عبر RPM في الوقت الحالي هو تمرين على عدم جدوى ، وأقول ذلك على أنه شخص قام لفترة وجيزة برئاسة yum repo يحتوي على عقدة وعدد من حزم الوحدات النمطية. - jgoldschrafe
تضمين التغريدة ردًا علىIsaacRabinovitch if، والتي لم تحدث حتى Python 2.5. منذ يتبع CentOS مسار RHEL لربط نظام Python مع بعض النسخة المصححة المخصصة من 2.4 ، كان الحل الخاص بي yum install python26 python26-devel ثم تنفيذ python26 configure بدلا من ./configure. ثم ، منذ Makefile ينفذ أيضا مخطوطات بايثون، لقد عرفت PYTHON متغير في أن يكون هناك python26 بدلا من python. أيضا ، أنت في حاجة إلى ذلك g++ هناك ، لذلك إذا لم تكن قد فعلت بالفعل ، فيجب عليك yum install gcc-++. - Hank Gay


إذا كان لديك CentOS 6.x ، ولديك مكن مستودع EPEL، يمكنك استخدام yum لتثبيت العقدة / npm:

$ sudo yum install npm

بعد اكتمال التثبيت ، تحقق من التأكد من إعداد العقدة بشكل صحيح:

$ node -v

(يجب أن يعود شيء مثل v0.10.36).

إذا كنت تريد إصدارات أحدث من Node.js (مثل 4.x ، 5.x ، إلخ.) ، يمكنك استخدام Nodesource yum مستودع بدلا من EPEL.


63
2018-03-09 14:14



هذا عمل جميل على نظام CentOS 6.4 وأعطاني عقدة و npm. حصلت على عقدة 0.10.13 ، فقط القليل من أحدث src tarball 0.10.15. يبدو أن هذه الحاجة تكثر في الظهور لأنها تتفوق على خيار "التثبيت من المصدر". - Neek
إتبع هذه لتثبيت EPEL ريبو. - Lee Chee Kiam
لتحديث تشغيل مستودع تخزين epel yum install -y epel-release، ثم يمكنك تثبيت عقدة و npm مع yum. - svassr
لم أستطع الحصول على epel أو epel-release للعمل مع yum لـ v4.2.x. الإجابة nave.sh أدناه عملت بشكل جميل. - jcollum
التثبيت عبر yum يعطيني إصدارًا قديمًا جدًا v0.10.42 ... كيف يمكنني تثبيت عقدة عبر yum / rpm للحصول على أحدث إصدار (حاليًا 5.9.0)؟ - dokaspar


جوهر "تثبيت Node.js عبر مدير الحزم" لا يحتوي على تعليمات لتثبيت nodejs على CentOS أكثر من ذلك. منذ فيدورا 18 ، تصبح nodejs جزءًا من الريبو القياسي. أنا أحاول "epel-فيدورا-nodejs" الريبو ، وإيجاد أنه لم يعد التحديث ، وترك الإصدار في 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$ نسخة / عقدة الخامس $ نسخة لينكس-x64.tar.gz "


27
2017-10-25 09:12



nodejs.tchol.org ميت الآن - explunit
explunit أنا فقط تحديث الإجابة. يرجى محاولة صحنه. - user974312
لمعلوماتك يبدو أن هذا تثبيته لهذا المستخدم فقط. إذا كنت ترغب في تثبيته للنظام بأكمله: ./nave.sh usemain <your version> - awl
"nodejs تصبح جزءا من الريبو القياسي" - على CentOS 7 انها قديمة بشكل لا يصدق. الإصدار المثبت هو v10.x (على CentOS الذي يستخدمه قسم تكنولوجيا المعلومات لدينا على أي حال). - jcollum


ل 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



يجب أن تستخدم إصدارًا تم إصداره وليس إصدار github ، إلا إذا كنت تخطط للمساهمة في مشروع العقدة. - B T


[تصحيح] شكرا لك ديفيد لافتشار في التعليقات أدناه أن nodejs.tchol.org يشير الموقع الآن إلى موقع بريد عشوائي (كذا!) .. إذن هذه الإجابة لا تعمل بعد الآن ، لا تستخدمها!

أستطيع أن أؤكد أن الطريقة التي شرحها كريس في حله تعمل في 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 اعتبارًا من ديسمبر 2012 وستتوفر في فيدورا 18".، لذا ربما ستدخل في النهاية مستودعات CentOS القياسية

سوف ألقي نظرة على هذا ..


11
2018-01-04 05:17



هذا عمل جميل على CentOS 6. شكرا! - KyleFarris
"nodejs.tchol.org" ميت الآن - David Newcomb
ومن ثم يجب عليك فقط تثبيت من المصدر. لا تخف. - John Hunt
JohnHunt التثبيت من المصدر يعني أنه لا يمكنك إلغاء أي إلغاء نظيف. لقد واجهت نفس المشكلة مع روبي. لحسن الحظ ، يمكنني فقط إرجاع صورة VM ... التثبيت من المصدر يعني أنك بحاجة إلى فهم عميق للحزمة التي تقوم بتثبيتها. وبالنظر إلى وجود الآلاف من حزم لينكس ، هذا ليس خيارًا! - Christian
"الرابط أعلاه"؟ يتم فرز الإجابات عن طريق التصويت ، وكريس هو الآن تحت الخاص بك. - Isaac Rabinovitch


كما هو مذكور أعلاه ، "tchol.org" قد انتهى ، مما يجعل الأفراد CentOS يبحثون في التخلي عن استخدام مدير الحزم ، أو التحول إلى نظام تشغيل آخر. لقد عقدت اتفاقا مع نفسي ضد كل فعل السابق (مرة أخرى) على جميع مربعات تجريبية ولكن التطويرية.

لحسن الحظ ، لا تزال هناك عدد rpms متاح في: http://patches.fedorapeople.org/oldnode/stable/el6/x86_64/

مجرد تجاهل دورة في الدقيقة ل repo-installer ، الذي يوجه yum إلى الموقع البائد. يجب أن يشترينا هذا القليل من الوقت ، إلا إذا أصبح عتيقا جدا.

سأبقي عيني مفتوحة لأحدث repos ، وإعادة نشر إذا وجدت لهم.


10
2018-04-14 19:27



أود أن أقول النسخة 0.6 في الارتباط الخاص بك بالفعل بالية بالفعل. يبدو أنه لا يوجد في الوقت الحالي خيارات جيدة لـ RHEL / CentOS في الوقت الحالي ، وهو أمر غريب بالنظر إلى ذلك ريد هات نفسها تقدم node.js PaaS - explunit


هذا العمل بالنسبة لي على 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



لا بد لي من استخدام python 2.6 على بلدي CentOS 5.10 ، حيث أن python 2.7 ليس في الريبو. - ohho