Npm команда не найдена linux
Но я все еще получаю ту же ошибку. Я также посмотрел на файл / etc / sudoers и соответствующую строку:
Это выглядит хорошо для меня. Как я могу заставить NPM работать с командой sudo?
Можете ли вы попробовать переустановить узел? Похоже, вы удалили npm. Возможно, вы добавили /usr/local/node/bin в свой $PATH , но npm должны быть установлены в /usr/local/bin . Первый каталог не в secure_path котором объясняет, почему sudo не могу найти его. Используя nvm на Ubuntu здесь - с комментарием @robertklep, я попытался, sudo /home/$Файл npm должен быть в /usr/local/bin/npm . Если его там нет, снова установите node.js с пакетом на их сайте . Это сработало в моем случае.
Спасибо. Если вы устанавливаете узел на другие диски с данными, где ОС не установлена, вы не сможете найти этот путь. в случае Mac OS с homebrew .. два шага, чтобы сделать (1), какой узел (2), какой npm, который должен быть и в / usr / local / bin (где homebrew устанавливает узел / символические ссылки + npm) . чтобы решить .. попробуйте (1) brew doctor (2) узел переустановки brew, если он все еще дает проблемы .. проверьте ваш путь (echo $ PATH). у вас должно быть несколько расположений бинов, которые указывают на различные установки узлов . если это так . очистите (как в make itater) ваш/ .bash_profile, так что / usr / local / bin есть загружен без другого, указывающего на случайную установку узла.
Это частичное решение. Проблема возникает при ручной установке узла. Вы должны программно связать каждый установленный бинарный файл в / usr / bin или / usr / local / bin. Установка пути в bashrc рута не будет работать, так как он не читается во время sudo, поэтому это единственный способ, если вы не устанавливаете пакет. как сказал @shrimpwagon, в нижней части инструкции вручную указывается ссылка "sudo ln -s / usr / local / lib / nodejs / node- $ VERSION- $ DISTRO / bin / node / usr / bin / node sudo ln -s / usr / local / lib / nodejs / node- $ VERSION- $ DISTRO / bin / npm / usr / bin / npm sudo ln -s / usr / local / lib / nodejs / узел- $ VERSION- $ DISTRO / bin / npx / usr / bin / npx "Я должен был сделать
это сработало для меня.
@tinysunlight Я не уверен, что неясно. Оператор говорит, что команда npm отсутствует. Эта команда устанавливает команду npm. Когда я установил узел с помощью NVM в Ubuntu 18.10, sudo не распознает npm как команду. sudo apt-get install npm работал на меня.Для пользователей MAC, следующие шаги работали для меня.
brew uninstall node Не работал для меня, но я продолжал с brew install node и brew postinstall и исправили проблему. Спасибо в Homebrew версии 2.2.14 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
Делать это 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
Я должен был сделать следующее:
Для пользователей CentOS это работает для меня:
проблема этого подхода в том, что в Fedora, например, он сильно устарел в репозиториях dnf / yum В CentOS 7 необходимо сначала включить репо EPEL: 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 должен быть запущен, прежде чем вы сможете использовать любой из пакетов.
Обычно это находится в
Чтобы запустить это автоматически, включите:
в файле .bash_profile для вашего пользователя
Если затем вы захотите использовать sudo с этим пользователем, обязательно включите параметр -i, чтобы sudo установил пользовательскую среду. например
На RHEL, CentOS и Fedora
просто! .. теперь и узел, и npm работают как шарм!
Я решил эту проблему
он не является полностью «доверенным», так как в третьей стороне может быть с большей вероятностью взломан, чем из npm напрямую из источника. я ничего не знаю о npm2deb, но подумайте, если бы вы хотели использовать его в своей компании, они, вероятно, были бы строги в его проверкеУ меня была такая же проблема, причина в том, что при установке узла не был установлен менеджер пакетов npm. Это было вызвано из-за следующей ошибки: В процессе установки есть шаг, называемый «Выборочная установка», здесь у вас есть возможность выбрать один из следующих вариантов: 1) Среда выполнения Node.js (эта опция выбрана по умолчанию). 2) менеджер пакетов npm 3) ярлыки онлайн документации. 4) Добавить в путь. Если вы продолжите в том же духе, менеджер пакетов npm не будет установлен, и, следовательно, вы получите ошибку.
Решение: выберите диспетчер пакетов npm, когда получите эти опции. Это сработало для меня.
но я все еще получаю ту же ошибку. Я также посмотрел файл /etc/sudoers, и соответствующая строка:
это выглядит нормально для меня. Как я могу заставить NPM работать с командой sudo?
файл npm должен быть в /usr/local/bin/npm . Если его там нет, установите node.js снова с пакетом на их сайт. В моем случае это сработало.
Я должен был сделать
это сработало для меня.
для пользователей MAC следующие шаги работали для меня.
- 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
делать 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 on 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
Я должен был сделать следующее:
для пользователей CentOS, это работает для меня:
чтобы установить пакеты npm глобально с разрешением sudo, /usr/bin/npm должна быть доступна. Если npm существует в каком-то другом каталоге, создайте мягкую ссылку, например:
он работает на Fedora 25, node8.0.0 и npm5.0.0
для debian после установки узла enter
на RHEL, CentOS и Fedora
легко. и node, и npm теперь работают как шарм!
Если вы установили node / npm с nvm, файл конфигурации среды nvm должен быть запущен, прежде чем вы сможете использовать любой пакет.
это обычно встречается в
чтобы запустить это автоматически, включите:
в рамках .файл bash_profile для
Если вы хотите использовать sudo с этим пользователем, обязательно включите параметр-i, чтобы sudo установил пользовательскую среду. например!--3-->
У меня была та же проблема,причина в том, что менеджер пакетов npm не был установлен во время установки узла. Это было вызвано следующей ошибкой: В процессе установки есть шаг под названием "Custom Setup", здесь у вас есть возможность выбрать один из следующих: 1) узел.JS runtime (это выбрано по умолчанию). 2) менеджер пакетов npm 3) ярлыки онлайн-документации. 4) Добавить в путь. Если вы продолжите, как это npm package manager не будет установлен, и, следовательно, вы получите ошибку.
решение: При получении этих параметров выберите Диспетчер пакетов npm. Это сработало для меня.
Но я все еще получаю ту же ошибку. Я также посмотрел файл / etc / sudoers, и соответствующая строка:
Мне это нравится. Как я могу заставить NPM работать с командой sudo?
Файл npm должен находиться в /usr/local/bin/npm . Если его там нет, снова установите node.js с пакетом на их веб-сайте. В моем случае это сработало.
Чтобы установить пакеты npm глобально с разрешением sudo, должен быть доступен /usr/bin/npm . Если npm существует в каком-либо другом каталоге, создайте мягкую ссылку, например:
Работает на Fedora 25, node8.0.0 и npm5.0.0.
Пришлось сделать следующее:
Выполнение 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 - единственная установка, при которой у меня могут возникнуть проблемы
И альт, npm теперь связаны
Если вы использовали -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
Установите node.js и просто запустите
Из вашего каталога проекта
Вы можете сделать символическую ссылку и она работает для меня.
- сделать символическую ссылку с помощью следующей команды
sudo ln -s который / npm / usr / local / bin / npm
Поскольку я установил node.js, используя файл .tar, доступный на node.js, мне пришлось указать местоположение каталога node на:
Root, перейдя с обычного пользователя на root с помощью команды:
Затем мне пришлось добавить путь к узлу, где я извлек его в файл .bashrc, как показано ниже:
Затем обновил .bashrc, используя
В случае, если это может быть полезно для всех, кто использует пакеты rh-* , это сработало для меня:
Полностью удалить узел:
Добавлен двоичный путь npm к пути sudo с помощью visudo и редактирования "secure_path"
Теперь "sudo npm" работает
Мое решение:
У меня отлично работает.
Это происходит потому, что вы изменили глобальный каталог пакетов по умолчанию
У меня тоже была такая же проблема в Homestead, и я пробовал много способов. Я пробовал с
Sudo apt-get установить nodejs
Я получаю следующую ошибку:
Наконец-то я попробовал
sudo apt-get dist-upgrade
Если вы скачали пакет узла и распаковали его где-то вроде /opt , вы можете просто создать символическую ссылку внутри /usr/local/bin .
Чтобы свести к минимуму вероятность ошибок разрешений, вы можете настроить npm на использование другого каталога. В этом примере вы создадите и будете использовать скрытый каталог в своем домашнем каталоге.
Сделайте резервную копию вашего компьютера. В командной строке в вашем домашнем каталоге создайте каталог для глобальных установок:
Сконфигурируйте npm для использования нового пути к каталогу:
В предпочитаемом вами текстовом редакторе откройте или создайте файл
/ .profile и добавьте следующую строку:
В командной строке обновите системные переменные:
Чтобы протестировать новую конфигурацию, установите пакет глобально без использования sudo:
Я решил эту проблему
На RHEL, CentOS и Fedora
Легко! .. и node, и npm теперь работают как шарм!
Если вы установили node / npm с помощью nvm, необходимо запустить файл конфигурации среды nvm, прежде чем вы сможете использовать любой из пакетов.
Обычно это находится в
Чтобы запустить это автоматически, включите:
В файле .bash_profile для вашего пользователя
Если затем вы хотите использовать sudo с этим пользователем, обязательно включите параметр -i, чтобы sudo установил пользовательскую среду. например
Для пользователей CentOS это работает для меня:
Решение: выберите диспетчер пакетов npm, когда получите эти параметры. Это сработало для меня.
Я установил node.js с помощью nvm, так как потребовалось гибко управлять версиями. Теперь хочу установить jshint в sublime и получаю ошибку.
на "which npm"
получаю
/home/serii/.nvm/versions/node/v6.12.2/bin/npm
И что мне дальше делать?
Простой 11 комментариев
Decadal, только до этого я установил Jshint без sudo
На форумах читал, что нужно через sudo, если глобально, хотя на github без.
Использовать sudo вообще нельзя для пакетных менеджеров. Это делает уязвимой вашу систему.
А ещё лучше юзать тот npm который у вас заинстален от nvm, по идее.
Спасибо, что ответили.
Сергей Бурдужа,
это /home/serii/.nvm/versions/node/v6.12.2/bin/npm вместо /usr/bin/npm
дело в том что под каждую версию ноды nvm выдает нужную версию npm, тогда как в /usr/bin/npm стоит всегда одна и та же (та, которую вы поставили отдельно), насколько я знаю.
Это не критично, но при переключении версий ноды может стать причиной ошибок.
Читайте также: