it-swarm.com.ru

Как установить Node.JS на Amazon Linux

Я видел рецензию на использование yum для установки зависимостей, а затем на установку Node.JS & NPM из исходного кода. Хотя это работает, я чувствую, что Node.JS и NPM должны быть где-то в публичном репо.

Как я могу установить Node.JS и NPM одной командой в AWS Amazon Linux?

220
Tim Fulmer

Наткнулся на это, было странно трудно найти позже. Выкладываю сюда для потомков:

Sudo yum install nodejs npm --enablerepo=epel

EDIT 3: По состоянию на июль 2016 года EDIT 1 больше не работает для nodejs 4 (и EDIT 2 также). Этот ответ ( https://stackoverflow.com/a/35165401/78935 ) дает истинную однострочность.

EDIT 1: Если вы ищете nodejs 4, попробуйте репозиторий EPEL:

Sudo yum install nodejs --enablerepo=epel-testing

EDIT 2: Для обновления с nodejs 0.12, установленного через репозиторий EPEL, используя указанную выше команду, до nodejs 4 из репозитория EPEL, выполните следующие действия:

Sudo yum rm nodejs
Sudo rm -f /usr/local/bin/node
Sudo yum install nodejs --enablerepo=epel-testing

Более новые пакеты помещают двоичные файлы узла в /usr/bin вместо /usr/local/bin.

И немного предыстории:

Опция --enablerepo=epel заставляет yum искать пакеты в репозитории EPEL.

EPEL (Extra Packages for Enterprise Linux) - это проект с открытым исходным кодом и бесплатный репозиторий для сообщества, разработанный командой Fedora, который предоставляет 100% высококачественные дополнительные программные пакеты для дистрибутива Linux, включая RHEL (Red Hat Enterprise Linux), CentOS и Scientific Linux. Проект Epel не является частью операционной системы RHEL/Cent, но он предназначен для крупных дистрибутивов Linux, предоставляя множество пакетов с открытым исходным кодом, таких как сетевое взаимодействие, системное администрирование, программирование, мониторинг и так далее. Большинство пакетов epel поддерживаются репо Fedora.

Via http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/

381
Tim Fulmer

Как и другие, принятый ответ также дал мне устаревшую версию.

Вот еще один способ сделать это, который работает очень хорошо:

$ curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
$ yum -y install nodejs

Вы также можете заменить 10.x другой версией, например, 8.x и т.д.

Вы можете увидеть все доступные версии на странице NodeSource Github и при желании вытащить оттуда.

170
Matthew Herbst

Принятый ответ дал мне нод 0.10.36 и npm 1.3.6, которые очень устарели. Я взял последний архив linux-x64 со страницы загрузок nodejs, и его было не сложно установить: https://nodejs.org/dist/latest/ .

# start in a directory where you like to install things for the current user
(For noobs : it downloads node package as node.tgz file in your directlry)
curl (paste the link to the one you want from the downloads page) >node.tgz

Теперь распакуйте архив, который вы только что скачали - 

tar xzf node.tgz

Запустите эту команду, а затем добавьте ее в свой .bashrc:

export PATH="$PATH:(your install dir)/(node dir)/bin"

(пример: export PATH = "$ PATH: /home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin")

И обновите npm (только один раз, не добавляйте в .bashrc):

npm install -g npm

Обратите внимание, что -g там, что означает глобальный, на самом деле означает глобальный для этого экземпляра npm, который является только что установленным экземпляром и доступен только текущему пользователю. Это будет применяться ко всем пакетам, которые npm устанавливает «глобально».

61
voltrevo

Процедура, которая работала для меня (следуя этим довольно старым инструкциям с несколькими обновлениями): 

  • проверьте, установлен ли git git --version или установите его через:
    Sudo yum install git 
  • установить gcc и openssl:
    Sudo yum install gcc-c++ make
    Sudo yum install openssl-devel 
  • клонировать репозиторий git в каталог с именем node (который вы можете удалить позже):
    git clone https://github.com/nodejs/node.git 
  • решить, какую версию узла вы хотите по адресу https://github.com/nodejs/node/releases
  • перейдите в только что созданный каталог узлов и установите узел
    cd node
    git checkout v6.1.0 - поставьте желаемую версию после v
    ./configure
    make
    Sudo make install 
  • проверить, что узел установлен/работает с node --version или просто node (выход из узла через process.exit() или ^C x 2 или ^C + exit
  • проверьте версию npm: npm --version и при необходимости обновите через Sudo npm install -g npm 
  • Необязательно: удалите каталог node с помощью rm -r node

Заметки:

  1. Принятый ответ не сработал, так как Sudo yum install nodejs --enablerepo=epel-testing возвращает ошибку: No package nodejs available.
    ... и Sudo yum install nodejs --enablerepo=epel (т.е. без -testing) давали только очень старые версии.
  2. Если у вас уже установлена ​​старая версия узла, вы можете удалить ее:
    Sudo npm uninstall npm -g ... так как npm может удалить себя
    Sudo yum erase nodejs
    Sudo rm -f /usr/local/bin/node
    (Sudo yum rm nodejs в принятом ответе не будет работать, так как rm не является допустимой командой yum, см. yum --help)
  3. Можно клонировать репо узла с помощью git clone git://github.com/nodejs/node.git, а не git clone https://github.com/nodejs/node.git, но вы можете получить различные ошибки (см. здесь ).
  4. Если у вас уже есть каталог /node из предыдущей установки, удалите его перед использованием команды git clone (или возникнет конфликт):
    rm -r node 
  5. Если у вас возникли проблемы с какой-либо командой Sudo npm..., например Sudo: npm: command not found, и/или у вас есть проблемы с разрешениями при установке пакетов узлов без Sudo, отредактируйте Sudo nano /etc/sudoers и добавьте :/usr/local/bin в конец строки Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin, чтобы она читала Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
26
goredwards

Для версии v4 LTS используйте:

curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs

Для Node.js v6 используйте:

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs

Я также столкнулся с некоторыми проблемами при попытке установить нативные дополнения в Amazon Linux. Если вы хотите сделать это, вы также должны установить инструменты сборки:

yum install gcc-c++ make
18
birnbaum

Простая установка с NVM ...

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
nvm install node
18
fuzzysearch

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

Учебник. Настройка Node.js в экземпляре Amazon EC2

Суть учебника:

  1. Убедитесь, что вы ssh'd на экземпляр.
  2. Возьмите nvm: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
  3. Активный . ~/.nvm/nvm.sh
  4. Установите узел с помощью nvm nvm install 4.4.5 (ПРИМЕЧАНИЕ. Вы можете выбрать другую версию. Сначала проверьте удаленные версии, запустив $ nvm ls-remote)
  5. Наконец, проверьте, правильно ли вы установили узел узла, запустив $ node -e "console.log('Running Node.js' + process.version)"

Надеюсь, это поможет следующему человеку.

12
troxwalt

Я установил Node.js 6.x и хотел установить Node.js 8.x.

Вот команды, которые я использовал (взятые из сайта Nodejs с несколькими дополнительными шагами для обработки кэшированных данных yum):

  1. Sudo yum remove nodejs: удалить Node.js 6.x (я не знаю, было ли это необходимо или нет)
  2. curl --silent --location https://rpm.nodesource.com/setup_8.x | Sudo bash - 
  3. Sudo yum clean all
  4. Sudo yum makecache: регенерировать кэш метаданных (этого не было в документации, но yum продолжал безуспешно пытаться установить Node.jx 6.x, пока я не выполнил эти две последние команды)
  5. Sudo yum install nodejs: установить Node.js 8.x
5
Brad W

Sudo yum install nodejs npm --enablerepo=epel работает для Amazon Linux AMI. curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs works для RedHat.

3
Xiao Peng - ZenUML.com

https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

curl --silent --location https://rpm.nodesource.com/setup_10.x | Sudo bash - Sudo yum -y install nodejs

1
Sunil Buddala

Самое простое решение - это (сделать это как root)

Sudo su root
cd /etc
mkdir node
yum install wget
wget https://nodejs.org/dist/v9.0.0/node-v9.0.0-linux-x64.tar.gz
tar -xvf node-v9.0.0-linux-x64.tar.gz
cd node-v9.0.0-linux-x64/bin
./node -v
ln -s /etc/node-v9.0.0-linux-x64/bin/node node

 enter image description here

1
grepit

Официальная документация для EC2-экземпляра работает для меня: https://docs.aws.Amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html

 1. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
 2. . ~/.nvm/nvm.sh
 3. nvm ls-remote (=> find your version x.x.x =>) nvm install  x.x.x
 4. node -e "console.log('Running Node.js ' + process.version)"
0
Taner Melikoglu

Как указано в официальной документации, просто ниже 2 шагов - 

curl -sL https://deb.nodesource.com/setup_10.x | Sudo -E bash -
Sudo apt-get install -y nodejs
0
Vivek Chaturvedi

Для тех, кто хочет, чтобы принятый ответ был запущен в Ansible без дальнейших поисков, я опубликую задачу здесь для удобства и дальнейшего использования.

Принятые рекомендации ответа: https://stackoverflow.com/a/35165401/78935

Эквивалент задачи

tasks:
  - name: Setting up the NodeJS yum repository
    Shell: curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
    args:
      warn: no
  # ...
0
Andrei Cioara

Вы можете обновить/установить узел, переустановив установленный пакет до текущей версии, что может избавить нас от множества ошибок при выполнении обновления.

Это делается с помощью команды nvm. Здесь я обновил версию своего узла до 8 и переустановил все доступные пакеты до версии 8!

nvm i v8 --reinstall-packages-from=default

Он работает и на экземпляре AWS Linux.

0
Soundharya AM