В системе есть nodejs
, установленный через nvm
. Команда не запущена npm
. Консоль Oh my zsh
Как запустить nvm в ой мой zsh?
Ответы (9)
Вы можете использовать zsh-nvm или включить его самостоятельно, добавив следующие строки в свой ~ / .zshrc
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
Дополнительно:
Для более быстрой инициализации оболочки я использую lazynvm
, который загружает узел только при необходимости.
lazynvm() {
unset -f nvm node npm
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
}
nvm() {
lazynvm
nvm $@
}
node() {
lazynvm
node $@
}
npm() {
lazynvm
npm $@
}
Ссылка: Ленивая загрузка nvm для более быстрого запуска оболочки
.zshrc
- person Ryan Wu; 23.10.2020
Переход с Bash на Oh-My-Zsh
Если у вас уже установлен nvm
и вы переключаетесь с bash
на oh-my-zsh
, вы можете просто открыть свой .zshrc
файл и добавить nvm
плагин, входящий в состав oh-my-zsh
:
- Откройте файл конфигурации zsh
.zshrc
в nano с помощью этой команды:nano ~/.zshrc
- Прокрутите вниз до места, где отображается
plugins=(git)
, и добавьтеnvm
в круглые скобки, чтобы он отображался какplugins=(git nvm)
(отдельные плагины с пробелами) - Нажмите
control
+O
(в macOS), затемenter
, чтобы сохранить, затем нажмитеcontrol
+X
для выхода. - Затем откройте новое окно / вкладку терминала и введите
nvm ls
, чтобы убедиться, что он работает. Обратите внимание, что вы должны открыть новое окно / вкладку для своей оболочки, чтобы использовать недавно обновленную конфигурацию.zshrc
(или введитеsource ~/.zshrc
и т. Д.)
Источник: https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/nvm
У меня это сработало на Ubuntu 20.04.
Установите или обновите nvm
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
Добавьте в свой ~ / .zshrc
echo 'export NVM_DIR=~/.nvm' >> ~/.zshrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"' >> ~/.zshrc
Загрузить в текущем окружении оболочки
source ~/.zshrc
Проверить версию nvm
nvm -v
Намного более простым решением является использование подключаемого модуля nvm, который поставляется по умолчанию. :
Он также автоматически создает источники nvm, поэтому вам не нужно делать это вручную в вашем .zshrc.
git clone https://github.com/nvm-sh/nvm.git ~/.nvm
cd ~/.nvm && git checkout v0.35.1
(текущий последний выпуск)- Добавьте
nvm
в свой~/.zshrc
. Пример:plugins=(... nvm)
Я обнаружил, что есть плагин nvm с oh-my-zsh (он отличается от плагина lukechilds). После недолгой проверки я думаю, что он добавляет необходимые изменения в .zshrc
при загрузке, поэтому простое добавление nvm
в список плагинов в .zshrc
также должно работать (и это работает для меня).
Я не нашел более подробной информации об этом плагине nvm по умолчанию через Google, поэтому я не знаю, подходит ли это решение.
nvm
в качестве плагина не работало для меня на Mac (хотя ОС не должна быть фактором). Я все еще получаю zsh: command not found: nvm
. Попробую добавить вручную.
- person Mike S.; 20.06.2020
adding manually
?
- person yoges nsamy; 19.06.2021
используйте homebrew для установки nvm
brew install nvm
отредактируйте конфигурацию вашей системы
vim ~/.zshrc # or vim ~/.bashrc
export NVM_DIR=~/.nvm
esc ›: wq
сохранить файл
перезагрузить конфигурацию
source $(brew --prefix nvm)/nvm.sh
просмотреть версию nvm
$ nvm --version
# 0.36.0
наслаждайся этим.
source $(brew --prefix nvm)/nvm.sh
был для меня недостающей частью. Спасибо!
- person Aurelio; 02.12.2020
Я настоятельно рекомендую использовать подход christophemarois к отложенной загрузке nvm (узлов, npm и глобальных пакетов), чтобы избежать медленного запуска оболочки:
# Add every binary that requires nvm, npm or node to run to an array of node globals
NODE_GLOBALS=(`find ~/.nvm/versions/node -maxdepth 3 -type l -wholename '*/bin/*' | xargs -n1 basename | sort | uniq`)
NODE_GLOBALS+=("node")
NODE_GLOBALS+=("nvm")
# Lazy-loading nvm + npm on node globals call
load_nvm () {
export NVM_DIR=~/.nvm
[ -s "$(brew --prefix nvm)/nvm.sh" ] && . "$(brew --prefix nvm)/nvm.sh"
}
# Making node global trigger the lazy loading
for cmd in "${NODE_GLOBALS[@]}"; do
eval "${cmd}(){ unset -f ${NODE_GLOBALS}; load_nvm; ${cmd} \$@ }"
done
Добавьте этот код в .zshrc в свой каталог пользователя.
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
Затем запустите этот код на своем терминале:
source ~/.zshrc
С Linux (Ubuntu 20.04)
В вашем любимом редакторе вы редактируете ~ / .zshrc
nano or vi ~/.zshrc
В конце файла добавьте:
# NVM
export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
И тогда вы запускаете:
source ~/.zshrc
zsh-nvm
- person Yossarian42   schedule 31.03.2020