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

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

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

Ответ 1

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

sudo yum install nodejs npm --enablerepo=epel

РЕДАКТИРОВАТЬ 3: По состоянию на июль 2016 года, EDIT 1 больше не работает для nodejs 4 (и EDIT 2 также не работает). Этот ответ (fooobar.com/questions/33232/...) дает истинную однострочность.

РЕДАКТИРОВАТЬ 1: Если вы ищете nodejs 4, попробуйте репозиторий EPEL:

sudo yum install nodejs --enablerepo=epel-testing

РЕДАКТИРОВАТЬ 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.

Через http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/

Ответ 2

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

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

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

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

Вы можете увидеть все доступные версии на странице NodeSource Github, а также при желании извлечь их оттуда.

Примечание: вам может потребоваться использовать sudo в зависимости от вашей среды.

Ответ 3

Принятый ответ дал мне node 0.10.36 и npm 1.3.6, которые очень устарели. Я схватил последний tar файл 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, который вы только что загрузили -

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 устанавливает "глобально".

Ответ 4

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

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

Примечания:

  • Принятый ответ не работает, поскольку sudo yum install nodejs --enablerepo=epel-testing возвращает ошибку: No package nodejs available.
    ... и sudo yum install nodejs --enablerepo=epel (т.е. без -testing) дали только очень старые версии.
  • Если у вас уже установлена ​​старая версия node, вы можете ее удалить:
    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)
  • Можно клонировать репо node через git clone git://github.com/nodejs/node.git, а не git clone https://github.com/nodejs/node.git, но вы можете получить различные ошибки (см. здесь).
  • Если у вас уже есть директория /node из предыдущей установки, удалите ее перед использованием команды clone git (или будет конфликт):
    rm -r node
  • Если у вас возникли проблемы с любой командой sudo npm... - например sudo: npm: command not found и/или имеют проблемы с установкой пакетов node без 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

Ответ 5

Простая установка с помощью NVM...

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

Ответ 6

Для версии 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

Ответ 7

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

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

Суть учебника заключается в следующем:

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

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

Ответ 8

Я установил 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

Ответ 9

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 работает для RedHat.

Ответ 10

Самое простое решение - это (сделать это как 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

Ответ 13

Кажется, никто не упоминает об этом. В Amazon Linux 2 официальный способ загрузки EPEL:

  • sudo amazon-linux-extras install epel

... тогда вы можете:

  • sudo yum install nodejs

  См. Дополнительная библиотека (Amazon Linux 2)

Ответ 14

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

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

Ответ 15

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

Принятый ответ рекомендации: fooobar.com/questions/33232/...

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

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

Ответ 16

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

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

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

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