Как установить 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):
-
sudo yum remove nodejs
: удалить Node.js 6.x (я не знаю, было ли это необходимо или нет) -
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
-
sudo yum clean all
-
sudo yum makecache
: восстановить кэш метаданных (этого не было в документации, но yum продолжал безуспешно пытаться установить Node.jx 6.x, пока я не выполнил эти две последние команды) -
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]()
Ответ 11
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
Ответ 12
Официальная документация для 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)"
Ответ 13
Кажется, никто не упоминает об этом. В Amazon Linux 2 официальный способ загрузки EPEL:
sudo amazon-linux-extras install epel
... тогда вы можете:
См. Дополнительная библиотека (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.