Я использую AMI Amazon Linux и успешно установил node.js с помощью wget
'вставляем источник, распаковываем файл и запускаем ./configure
а потом sudo make install
. Когда я установил npm:
curl http://npmjs.org/install.sh | sudo sh
Он выводит:
npm cannot be installed without nodejs.
Install node first, and then try again.
Maybe node is installed, but not in the PATH?
Note that running as sudo can change envs.
PATH=/sbin:/bin:/usr/sbin:/usr/bin
Но узел явно установлен (работает node -v
показывает его версию), значит, этот узел должен быть не на моем пути.
я открываю ~/.bash_profile
и добавьте эту строку:
export PATH=/usr/local/bin:$PATH
Тогда беги source ~/.bash_profile
и попробуйте снова установить npm, только чтобы обнаружить, что он выводит то же сообщение, что и в прошлый раз, с тем же самым PATH.
Затем, что странно, я заметил, что npm действительно установлен! Бег npm -v
показывает свою версию. Хм ....
Тогда я бегу npm install supervisor
в каталоге моего приложения, а папка супервизора находится в /node_modules
, Однако supervisor
команда не существует.
Установка выходов супервизора:
npm WARN prefer global supervisor@0.3.1 should be installed with -g
поэтому я пытаюсь npm install -g supervisor
который выводит
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/supervisor'
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
поэтому я пытаюсь sudo npm install -g supervisor
но выход sudo: npm: command not found
Подводя итог, кажется, что npm работает нормально, хотя вывод при его установке наводит на мысль об обратном, и пакет супервизора кажется установленным, но его команда не работает.
Любая помощь в выяснении этого будет принята с благодарностью!
По возможности лучше избегать компиляции пакетов. Помимо частой установки в нестандартных местах, программное обеспечение, скомпилированное из исходного кода, гораздо сложнее поддерживать в актуальном состоянии. Node.js предоставляет процедуру для установки из репозитория, который включает npm и некоторые другие связанные компоненты. Репозиторий обновляется и редко отстает от исходного кода более чем на пару дней. Более того, инструкции доступны специально для Amazon Linux:
sudo yum localinstall --nogpgcheck http://nodejs.tchol.org/repocfg/amzn1/nodejs-stable-release.noarch.rpm
sudo yum install nodejs-compat-symlinks npm.
npm
следует установить в /usr/bin/npm
что является символической ссылкой на /usr/lib/nodejs/npm/bin/npm-cli.js.
Конечно, с некоторыми изменениями, внесенными в ваш PATH, возможно, что npm может не быть найден. echo $PATH
(как root) должен напоминать:
/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin
Одна из распространенных проблем при предыдущих установках с ошибкой npm - это поврежденный кеш - очистите кеш npm (npm cache clear
) и посмотрите, добьетесь ли вы успеха. Конечно, глобальная установка пакета должна выполняться от имени пользователя root.