Вопрос: Как установить Node.JS на CentOS?


Я нашел множество инструкций по установке для Node.js, но все они кажутся такими сложными - я не супер-администратор sys, но я могу обойти. У меня есть yum в системе, но я не нашел ни одного пакета node.js, и я не уверен, как скомпилировать код на сервере или куда его поместить.


129
2017-08-09 16:15


Источник


Спасибо за отличные ответы всем. Я действительно верю, что вы можете установить u 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 выше. Вы можете изменить файл «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


139
2018-05-19 17:44



но, полагая, что я правильно установил? что я не делаю? - qodeninja
Мне нужно было включить yum install gcc-c ++ - Yehosef
Хотя это технически правильно, для любого вида ремонтопригодности или повторяемости, HIGHLY рекомендуется управлять пакетами через RPM (или независимо от упаковки вашего дистрибутива), а не вручную создавать и устанавливать из источника на всех машинах, где это необходимо. Ниже приведен ряд ответов на подготовленные пакеты. - Jason Antman
Попытка управлять Node.JS и любой ее экосистемой через RPM прямо сейчас - это бесполезное упражнение, и я говорю об этом как о ком-то, кто кратко использовал репозиторий yum, содержащий Node и ряд пакетов модулей. - jgoldschrafe
@IsaacRabinovitch Они добавили троицу if, который не появился до Python 2.5. Поскольку CentOS следует пути RHEL для привязки системы Python к некоторой исправленной версии 2.4, мое решение заключалось в том, чтобы yum install python26 python26-develи затем выполнить python26 configure вместо ./configure, Тогда, поскольку Makefile также выполняет скрипты Python, я определил 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. Начиная с Fedora 18, nodejs становится частью стандартного репо. я попробую "EPEL-Фетровые-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$ Версии / узел v $ версии Linux-x64.tar.gz»


27
2017-10-25 09:12



nodejs.tchol.org сейчас мертв - explunit
@explunit Я просто обновляю ответ. Пожалуйста, попробуйте нефа. - user974312
FYI Кажется, это установить только для этого пользователя. Если вы хотите установить его для всей системы: ./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 сайт теперь указывает на спам-сайт (sic!) .. Так что этот ответ больше не работает, не используйте его!

Я могу подтвердить, что метод, который Крис объяснил в своем решении, работает в 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: конечно, вы должны быть root (или использовать sudo), чтобы установить это.

Помимо установки из источника (который всегда является опцией), возможно, есть еще альтернатива: здесь я читал, что  «node.js был принят в Fedora Rawhide по состоянию на декабрь 2012 года и будет доступен в Fedora 18.", поэтому, возможно, в конечном итоге он войдет в стандартные хранилища CentOS

Я посмотрю на это.


11
2018-01-04 05:17



Это отлично работало на CentOS 6. Спасибо! - KyleFarris
«nodejs.tchol.org» сейчас мертв - David Newcomb
Следовательно, вы должны просто установить из источника. Не бойся. - John Hunt
@JohnHunt Установка из источника означает, что вы еще не можете удалить его. У меня была такая же проблема с Ruby. К счастью, я мог просто откат изображения виртуальной машины ... Установка из источника означает, что вам нужно иметь глубокое понимание устанавливаемого вами пакета. Учитывая, что есть тысячи пакетов linux, это не вариант! - Christian
«Ссылка выше»? Ответы сортируются по голосу, а Крис сейчас ниже ваших. - Isaac Rabinovitch


Как уже отмечалось выше, «tchol.org» ушел, оставив людей CentOS в поиске отказа от использования диспетчера пакетов или перехода на другую ОС. Я заключил пакт с самим собой против всех, кто делал первый (снова) на всех, кроме экспериментальных / dev ящиках.

К счастью, все еще доступны rpms: http://patches.fedorapeople.org/oldnode/stable/el6/x86_64/

Просто игнорируйте rpm для репо-установщика, который направляет yum на не существующий сайт. Это должно купить нам немного времени, если / пока они не станут слишком устаревшими.

Я буду держать глаза открытыми для новых репозиториев, и отправлю обратно, если я их найду.


10
2018-04-14 19:27



Я бы сказал, что версия 0.6 в вашей ссылке уже довольно устарела. Кажется, на данный момент нет действительно хороших вариантов для RHEL / CentOS, что странно, учитывая, что Сама Red Hat предлагает 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


Есть еще один подход, который я не видел ни в одном из других ответов, и это использовать бинарные дистрибутивы для 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 довольно плохая, поскольку ни один из репозиториев не включает node.js (см. вопрос здесь). Этот ответ имеет те же недостатки, которые были упомянуты ранее для компиляции из источника.


7
2017-11-08 00:50





Ответы выше устарели

AS ROOT

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

и все готово.

проверьте свою установку с помощью

node -v

7
2018-06-06 10:04



Моя версия curl, похоже, не нравится службе Signing Authority сертификата SSL url, поэтому скрипт терпит неудачу. Вы можете пройти мимо него, используя опцию curl -k. - Spike Williams
Кроме того, после того, как вы добавили -k к команде curl выше, вам также нужно обновить ссылку на curl-загрузки из этого домена в загружаемом скрипте «setup». Затем запустите этот скрипт вручную, используя bash. - Spike Williams


Никто не упоминал nvm безопасно и легко обрабатывать (несколько) Узел https://github.com/creationix/nvm? Я считаю это настолько полезным.

Даже полезно создавать дерево файлов выпуска Node и, таким образом, пользовательские пакеты rpm без скриптов слишком много, latest-node, wget, ./configure, make, make install бла-бла.

nvm install 0.10.9

Будет загружать двоичные файлы или компилировать исходный код в соответствии с выпуском.


5
2018-04-04 12:32



есть ли автономная установка? - amit patel


Запуск от 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 -

Затем установите, как root:

yum -y install nodejs

источник: https://nodejs.org/en/download/package-manager/


4
2017-11-14 14:20



Единственный ответ, который работает для CentOS 7.2. И работал так быстро и отлично. - writeToBhuwan
рекомендации: посетите проект NVM на GitHub и получите окончательные инструкции от README: github.com/creationix/nvm#installation - Kay V