Команда не найдена после установки npm в zsh

У меня возникли проблемы с установкой клятва через npm в zsh. Вот что я понял. Я попытался установить его с опцией-g и без нее. Ты хоть понимаешь, что здесь не так?

[❤  ~/Desktop/sauce-node-demo:master] npm install -g vows
npm http GET https://registry.npmjs.org/vows
npm http 304 https://registry.npmjs.org/vows
npm http GET https://registry.npmjs.org/eyes
npm http GET https://registry.npmjs.org/diff
npm http 304 https://registry.npmjs.org/eyes
npm http 304 https://registry.npmjs.org/diff
/usr/local/share/npm/bin/vows -> /usr/local/share/npm/lib/node_modules/vows/bin/vows
vows@0.6.4 /usr/local/share/npm/lib/node_modules/vows
├── eyes@0.1.8
└── diff@1.0.3
[❤  ~/Desktop/sauce-node-demo:master] vows
zsh: command not found: vows

спасибо

5 ответов


Если вы установили узел.JS используя Homebrew, двоичные файлы npm можно найти в /usr/local/share/npm/bin. Вы должны убедиться, что этот каталог в переменную окружения PATH. Итак, в вашем добавить export PATH=/usr/local/share/npm/bin:$PATH.


добавить source /home/YOUUSERNAME/.bash_profile в начале ~/.zshrc

и все отсутствующие команды будут обнаружены.

на Mac пользователи : добавить source /Users/YOUUSERNAME/.bash_profile


на macOS пользователи: рассмотрите возможность использования .profile вместо of .bash_profile. Возможно, Вам все равно придется вручную добавить его в ~/.zshrc:

source $HOME/.profile

обратите внимание, что по умолчанию такого файла нет! цитируя slhck https://superuser.com/a/473103:

в любом случае, вы можете просто создать файл если он не существует и открыть его в текстовом редакторе.

touch ~/.profile
open -e !$

добавленная стоимость это хорошо использовать один файл для настройки среды, независимо от используемой оболочки. Загрузка файла конфигурации bash в zsh чувствовала себя неловко.

цитирование принятого ответа Cos https://stackoverflow.com/a/415444/2445063

.profile - это просто имя файла сценария входа, первоначально используемое /bin/sh. bash, как правило, обратно совместим с /bin/sh читать .profile Если есть

Следующим Филип Исследование / мнение Экберга https://stackoverflow.com/a/415410/2445063

.profile эквивалентно .bash_profile для корня. Я думаю, что имя изменено, чтобы другие оболочки (csh, sh, tcsh) также использовали его. (вам не нужен один как пользователь)

возвращаясь к slhck, a внимание внимание относительно Баш:

(...) после создания файла под названием ~/.bash_profile ваш ~/.profile читать не будут больше.


еще одна вещь, чтобы попробовать, и ответ для меня был раскомментировать первый export на ~/.zshrc

# If you come from bash you might have to change your $PATH. export PATH=$HOME/bin:/usr/local/bin:$PATH


Я думаю, что проблема больше в завершении ZSH.

вам нужно добавить эту строку в свой .zshrc:

zstyle ':completion:*' rehash true

Если у вас есть Oh-my-zsh, PR был сделан, вы можете интегрировать его, пока он не будет вытащен:https://github.com/robbyrussell/oh-my-zsh/issues/3440