Назад | Перейти на главную страницу

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

Я нашел множество инструкций по установке для Node.js, но все они кажутся такими сложными - я не супер-системный администратор, но я могу обойтись. У меня есть yum в системе, но я не нашел пакетов 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

Если у вас 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.

Суть «Установка Node.js через диспетчер пакетов» больше НЕ содержит инструкций по установке nodejs на CentOS. Начиная с Fedora 18, 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$ версия / узел-v $ версия-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

[Редактировать] Спасибо, Дэвид, за то, что в комментариях ниже указал, что nodejs.tchol.org site теперь указывает на спам-сайт (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

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

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

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

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

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

Это сработало для меня на 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

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

КАК ROOT

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

и все готово.

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

node -v

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

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

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

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 -

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

yum -y install nodejs

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

Ты можешь использовать nodebrew. $ 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

Вам также понадобится npm

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

У меня есть несколько довольно простых инструкций, а также файл .spec:

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

Вы будете компилировать это из исходного кода, поэтому вам нужно будет убедиться, что у вас есть все необходимые пакеты для этого в вашей системе (gcc и друзья). Этот набор инструкций предназначен для создания RPM, поэтому, если вам не хватает каких-либо необходимых пакетов, rpmbuild сообщит вам, какие из них вам нужно установить в первую очередь.

Мой ответ для версии 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/ чтобы найти ссылку для загрузки последней версии.

вот мой 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

Для 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

Код ниже отлично работал на 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, который не работает с версией Python по умолчанию на RHEL. После большого количества проб и ошибок (и большого количества поисков в Google) я нашел это сообщение в блоге, в котором в основном описывается шаг для выполнения следующих необходимых задач.

а. Установите Python 2.6 b. Настройте эту версию Python как альтернативную версию, а затем установите ее по умолчанию c. настроить и установить node.js d. Возвращение Python к версии по умолчанию 2.4.

Ключ в том, что после этого вам следует вернуться к Python 2.4; в противном случае такие простые вещи, как yum, не работают.

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