Я видел описание использования yum для установки зависимостей, а затем установки Node.JS & NPM из исходного кода. Хотя это работает, я чувствую, что Node.JS и NPM должны быть где-то в публичном репо.
Как я могу установить Node.JS и NPM одной командой в AWS Amazon Linux?
node.js
amazon-web-services
npm
yum
amazon-linux
Тим Фулмер
источник
источник
Ответы:
Наткнулся на это, было странно трудно найти позже. Выкладываю сюда для потомков:
РЕДАКТИРОВАТЬ 3: По состоянию на июль 2016 года, EDIT 1 больше не работает для nodejs 4 (и EDIT 2 ни для кого). Этот ответ ( https://stackoverflow.com/a/35165401/78935 ) дает истинную однострочность.
РЕДАКТИРОВАТЬ 1: Если вы ищете nodejs 4, попробуйте репозиторий EPEL:
РЕДАКТИРОВАТЬ 2: Для обновления с nodejs 0.12, установленной через репозиторий EPEL, используя указанную выше команду, до nodejs 4 из репозитория EPEL, выполните следующие действия:
Более новые пакеты помещают двоичные файлы узла
/usr/bin
вместо/usr/local/bin
.И немного предыстории:
Опция
--enablerepo=epel
вызываетyum
поиск пакетов в репозитории EPEL.источник
sudo npm install -g n
иsudo n v0.12
любую другую версию, которая вам нравится.sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
sudo yum install nodejs --enablerepo=epel-testing
возвращает ошибку: «Нет доступных пакетов nodejs». покаsudo yum install nodejs --enablerepo=epel
только давал очень старые версии ...Как и другие, принятый ответ также дал мне устаревшую версию.
Вот еще один способ сделать это, который работает очень хорошо:
Вы также можете заменить 12.x другой версией, например 10.x, 8.x и т. Д.
Вы можете увидеть все доступные версии на странице NodeSource Github и при желании вытащить их оттуда.
Примечание: вам может потребоваться запустить с помощью в
sudo
зависимости от вашей среды.источник
npm install
наpackage.json
,curl --silent --location https://rpm.nodesource.com/setup_4.x | sudo bash -
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
иsudo yum -y install nodejs
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
Принятый ответ дал мне нод 0.10.36 и npm 1.3.6, которые очень устарели. Я взял последний архив linux-x64 со страницы загрузок nodejs, и его было не сложно установить: https://nodejs.org/dist/latest/ .
Теперь распакуйте архив, который вы только что скачали.
Запустите эту команду, а затем добавьте ее в свой
.bashrc
:(пример: export PATH = "$ PATH: /home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin")
И обновить
npm
(только один раз, не добавляйте.bashrc
):Обратите внимание, что
-g
там, что означает глобальный, действительно означает глобальный для того экземпляра npm, который является экземпляром, который мы только что установили, и ограничен текущим пользователем. Это будет применяться ко всем пакетам, которые npm устанавливает «глобально».источник
Процедура, которая работала для меня (следуя этим довольно старым инструкциям с несколькими обновлениями):
git --version
ли git или установите его через:sudo yum install git
sudo yum install gcc-c++ make
sudo yum install openssl-devel
node
(который вы можете удалить позже):git clone https://github.com/nodejs/node.git
cd node
git checkout v6.1.0
- поставьте желаемую версию послеv
./configure
make
sudo make install
node --version
или простоnode
(выйдите из узла черезprocess.exit()
или^C
x 2 или^C
+exit
)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
) дал только очень старые версии.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
)git clone git://github.com/nodejs/node.git
,git clone https://github.com/nodejs/node.git
но вы можете получить различные ошибки (см. Здесь )./node
каталог из предыдущей установки, удалите его перед использованием команды git clone (или возникнет конфликт):rm -r node
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
источник
etc/sudoers
контролирует файл, который может запускать какие команды и какие пользователи на каких машинах - но будет запускать / находить / искать только те команды, которые находятся в каталогах, перечисленных на егоsecure_path
узле, должен быть установлен,/usr/local/bin
и если он там есть, sudo должен его найти - см. stackoverflow .com / a / 31734090/3092596 Если sudo не находит его, необходимо добавить этот путь к sudosecure_path
- см. также: superuser.com/a/927599/404543sudo 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
Простая установка с NVM ...
Чтобы установить определенную версию (например, 12.16.3) Node, измените последнюю строку на
Для получения дополнительной информации о том, как использовать NVM, посетите документы: https://github.com/nvm-sh/nvm.
источник
Для версии v4 LTS используйте:
Для Node.js v6 используйте:
Я также столкнулся с некоторыми проблемами при попытке установить собственные дополнения в Amazon Linux. Если вы хотите сделать это, вы также должны установить инструменты сборки:
источник
Я только сталкивался с этим. Я попробовал несколько наиболее популярных ответов, но в итоге мне помогло руководство по быстрой настройке Amazon.
Учебник. Настройка Node.js в экземпляре Amazon EC2
Суть учебника:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install 4.4.5
(ПРИМЕЧАНИЕ. Вы можете выбрать другую версию. Сначала запустите удаленные версии$ nvm ls-remote
)$ node -e "console.log('Running Node.js' + process.version)"
Надеюсь, это поможет следующему человеку.
источник
Кажется, никто не упоминает об этом. В Amazon Linux 2 официальный способ загрузки EPEL:
sudo amazon-linux-extras install epel
... тогда вы можете:
sudo yum install nodejs
Смотрите Extras Library (Amazon Linux 2)
источник
Я установил 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источник
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.источник
Самое простое решение - это (сделать это как root)
источник
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
источник
Официальная документация для EC2-экземпляра работает для меня: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html
источник
Как указано в официальной документации, просто ниже 2 шагов -
источник
Для тех, кто хочет, чтобы принятый ответ запускался в Ansible без дальнейших поисков, я опубликую задачу здесь для удобства и дальнейшего использования.
Принятый ответ рекомендации: https://stackoverflow.com/a/35165401/78935
Эквивалент задачи
источник
Вы можете обновить / установить узел, переустановив установленный пакет до текущей версии, что может избавить нас от множества ошибок при выполнении обновления.
Это делается с помощью команды nvm. Здесь я обновил версию своего узла до 8 и переустановил все доступные пакеты до версии 8!
Он работает и на экземпляре AWS Linux.
источник