Я пытаюсь обновить до последней версии узла. Я следую инструкциям на http://davidwalsh.name/upgrade-nodejs
Но когда я сделаю:
sudo npm install -g n
Я получаю ошибку:
sudo: npm: command not found
npm работает без sudo. Когда я делаю:
whereis node
Я вижу:
node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node
Бег:
which npm
шоу:
/usr/local/node/bin/npm
Я попробовал решение на https://stackoverflow.com/a/5062718/1246159
Но я все еще получаю ту же ошибку. Я также посмотрел на файл / etc / sudoers и соответствующую строку:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Это выглядит хорошо для меня. Как я могу заставить NPM работать с командой sudo?
sudo /usr/bin/npm install -g n
/usr/local/node/bin
в свой$PATH
, ноnpm
должны быть установлены в/usr/local/bin
. Первый каталог не вsecure_path
котором объясняет, почемуsudo
не могу найти его.nvm
на Ubuntu здесь - с комментарием @robertklep, я попытался,sudo /home/${user}/.nvm/version/node/${version}/bin/npm install
и это сработало.Ответы:
Файл npm должен быть в
/usr/local/bin/npm
. Если его там нет, снова установите node.js с пакетом на их сайте . Это сработало в моем случае.источник
Я должен был сделать
это сработало для меня.
источник
npm
уже установлена, но недоступна при вызове через sudo. С этим решением вы переустановите npm, который уже существует. Это борьба с симптомами, а не поиск причины. Я понимаю, что это может исправить некоторые вещи, но это вводит в заблуждение, стоя так.sudo apt-get install npm
работал на меня.Для пользователей MAC, следующие шаги работали для меня.
источник
brew uninstall node
Не работал для меня, но я продолжал сbrew install node
иbrew postinstall
и исправили проблему. Спасибоbrew postinstall
?brew postinstall
является избыточнымУ меня такая же проблема; Вот команды, чтобы исправить это:
sudo 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
источник
%HOME%/.nvm/versions/node/v7.4.0/bin/npm
). К сожалению, мне придется ссылаться на этот ответ каждый раз, когда я обновляюсь с помощью NVM, из-за того, как изменится версия в путиsudo ln -s $(whereis node) /usr/bin/node
И так далее. в вашем профиле bash.ВНИМАНИЕ (редактировать)
Делать это
chmod 777
довольно радикальное решение. Попробуйте это сначала, по одному, и остановитесь, когда работаете:$ sudo chmod -R 777 /usr/local/lib/node_modules/npm
$ sudo chmod -R 777 /usr/local/lib/node_modules
$ sudo chmod g+w /usr/local/lib
$ sudo chmod g+rwx /usr/local/lib
$ brew postinstall node
это единственная часть установки, где у меня возникнет проблемаТак что я
и альт, нпм теперь связан
дополнительный
Если вы использовали
-R 777
на Lib моя рекомендация будет установить вложенные файлы и директории установки по умолчанию:find /usr/local/lib -type f -print -exec chmod 644 {} \;
find /usr/local/lib -type d -print -exec chmod 755 {} \;
chmod /usr/local/lib 755
источник
chmod
должен быть этот каталог?drwxr-xr-x
по умолчанию для lib. Тем не менее, НЕ используйте рекурсивную функцию-R
при возврате папки.Я должен был сделать следующее:
brew update
brew uninstall node
источник
Для пользователей CentOS это работает для меня:
источник
yum install epel-release; yum install npm
Для того, чтобы установить пакеты npm глобально с разрешением sudo,
/usr/bin/npm
должен быть доступен. Еслиnpm
существует в другом каталоге, создайте программную ссылку, например:Работает на Fedora 25, node8.0.0 и npm5.0.0
источник
В macOS это сработало для меня:
источник
unix
, но он все еще может быть полезен, так как это лучший результат поиска Google для "команда macos npm не найдена"Для Debian после установки узла введите
источник
Если вы установили узел / npm с помощью nvm, файл конфигурации среды nvm должен быть запущен, прежде чем вы сможете использовать любой из пакетов.
Обычно это находится в ~ / .nvm / nvm.sh.
Чтобы запустить это автоматически, включите:
в файле .bash_profile для вашего пользователя
Если затем вы захотите использовать sudo с этим пользователем, обязательно включите параметр -i, чтобы sudo установил пользовательскую среду. например
источник
просто переустановите.
На RHEL, CentOS и Fedora
затем
просто! .. теперь и узел, и npm работают как шарм!
источник
Я решил эту проблему
источник
У меня была такая же проблема, причина в том, что при установке узла не был установлен менеджер пакетов npm. Это было вызвано из-за следующей ошибки: В процессе установки есть шаг, называемый «Выборочная установка», здесь у вас есть возможность выбрать один из следующих вариантов: 1) Среда выполнения Node.js (эта опция выбрана по умолчанию). 2) менеджер пакетов npm 3) ярлыки онлайн документации. 4) Добавить в путь. Если вы продолжите в том же духе, менеджер пакетов npm не будет установлен, и, следовательно, вы получите ошибку.
Решение: выберите диспетчер пакетов npm, когда получите эти опции. Это сработало для меня.
источник
Если вы скачали пакет узла и извлекли его куда-то,
/opt
вы можете просто создать символическую ссылку внутри/usr/local/bin
.источник
У меня тоже была такая же проблема в Хомстеде, и я пробовал много способов. Я пробовал с
sudo apt-get установить nodejs
Я получаю следующую ошибку:
Наконец то попробовал с
sudo apt-get dist-upgrade
Работало нормально.
источник
Мое решение:
У меня отлично работает.
Нашел здесь: https://stackoverflow.com/a/29400598/861615
Это происходит потому, что вы изменили каталог глобальных пакетов по умолчанию
источник
Работа для меня Устранение ошибок разрешений EACCES при глобальной установке пакетов
Чтобы минимизировать вероятность ошибок разрешений, вы можете настроить npm для использования другого каталога. В этом примере вы создадите и будете использовать скрытый каталог в вашем домашнем каталоге.
Сделайте резервную копию вашего компьютера. В командной строке в своем домашнем каталоге создайте каталог для глобальных установок:
Настройте npm для использования нового пути к каталогу:
В предпочитаемом вами текстовом редакторе откройте или создайте файл ~ / .profile и добавьте следующую строку:
В командной строке обновите системные переменные:
Чтобы протестировать новую конфигурацию, установите пакет глобально, не используя sudo:
источник
Добавлен двоичный путь npm к пути sudo с использованием visudo и редактированием «secure_path»
Теперь "sudo npm" работает
источник
Удалить узел полностью:
Установите снова:
источник
В случае, если это может быть полезно для тех, кто использует
rh-*
пакеты, это работает для меня:источник
Так как я установил node.js, используя файл .tar, доступный на node.js, мне пришлось указать местоположение каталога узла:
root с помощью перехода от обычного пользователя к root с помощью команды:
Затем мне пришлось добавить путь к узлу, где я извлек его в файл .bashrc, как показано ниже:
затем восстановил .bashrc используя
там после
ушел
источник
Для меня ни один из методов, упомянутых выше с использованием Homebrew, не работал на macOS. Итак, я удалил узел, используя Homebrew, скачал пакет узла с https://nodejs.org/en/download/ и установил его. Оно работало завораживающе.
источник
Установи node.js и просто запусти
из вашего проекта реж
источник