npm работает через командную строку, но не git bash
Я использовал диспетчер версий узлов для Windows, чтобы установить NodeJS, выполнив:
nvm install 16.2.0
npm все еще не работал, поэтому я побежал
nvm list available
Что привело меня сюда: https://nodejs.org/download/release
Я скопировал файлы из npm / npm-1.4.9.zip в каталог v16.2.0 и подтвердил, что он работает, открыв командную строку и выполнив:
npm -v
Однако, если я открываю Git BASH и пытаюсь выполнить ту же команду, я получаю следующее сообщение об ошибке:
bash: npm: команда не найдена
Итак, я проследил за бесчисленными потоками переполнения стека о том, как решить эту проблему. Почти все говорили, что нужно перезапустить Git BASH или Visual Studio Code, так что я это сделал, и это не сработало. Затем я перезапустил свой компьютер, и он не работал. Итак, я попытался обновить свой, выполнив в командной строке следующее:
npm config get prefix
Затем взяв это значение и добавив его к моему
PATH
переменная окружения. Затем я выключил все, перезапустил компьютер, открыл Git BASH и снова попытался запустить, но это все равно выдает ту же ошибку.
Я в своем уме и не знаю почему
npm
работает в моей командной строке, но не будет работать в git bash.
ОБНОВЛЕНИЕ Стоит отметить, что
node -v
отлично работает с Git BASH, просто
npm -v
2 ответа
Мне удалось решить свою проблему, хотя я не уверен, является ли это ошибкой с NVM или нет.
На момент написания этой статьи текущая LTS-версия NodeJS - 14.17.0. Итак, я выполнил:
nvm install 14.17.0
nvm use 14.17.0
Это не только правильно установило NPM, но и установило для меня PATH.
Поэтому по какой-то причине установка новейшей версии NodeJS через NVM не установила NPM, но установила текущую версию LTS.
Вам нужно будет добавить NVM в свойC:\Users\PROFILE\.bashrc
(Если этот файл не существует, создайте его.)
.bashrc:
export NVM_DIR="$NVM_HOME"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Примечание: (некоторые старые руководства по использованию NVMexport NVM_DIR="$HOME/.nvm"
, а это не то, чего мы хотим. Если вы используете последнюю версиюNVM for Windows
, Для того чтобыcmd
иgit bash
чтобы быть идентичными, нам нужноexport NVM_DIR="$NVM_HOME"
.)