Homebrew устанавливает nvm, но nvm не может быть найден позже?
Я использую homebrew
и oh-my-zsh
в новой версии OSX 10.10.1. Я получил nvm
через homebrew
, а затем попытался запустить его, но сказал - zsh: команда не найдена: nvm
Есть идеи, в чем проблема? Я смог установить и использовать git просто отлично...
![enter image description here]()
![enter image description here]()
ОБНОВЛЕНО 20.09.2009
Как указано в более недавних ответах DarkPurple141 и Элиз ван Лоидж. nvm
не совместим с homebrew
. Об этом также говорится в официальном репозитории nvm-sh, расположенном здесь.
Homebrew установка не поддерживается. Если у вас есть проблемы с установил homebrew nvm, пожалуйста, удалите brew и установите его, используя инструкции ниже, до подачи вопроса.
Примечание: если вы используете zsh, вы можете легко установить nvm как плагин zsh. Установите zsh-nvm и запустите обновление nvm для обновления.
Следующие шаги должны помочь:
- $
brew uninstall nvm
- $
brew cleanup
(только для примера)
- $
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
Проверьте правильность установки nvm, запустив $ command -v nvm
.
4.a Если ответ отличается от $ nvm
, добавьте следующие две строки в файл ~/.bash-profile: export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh
4.b Перезагрузите компьютер (вы можете попробовать закрыть Терминал и сначала перезапустить его)
4.c $ command -v nvm should now return
nvm '
Теперь обновите Node.js с помощью $ nvm install --lts
- Обновите npm: $
nvm install-latest-npm
- $
npm install --global mocha
. Наконец, успехов! Ну, для меня, и я надеюсь на тебя тоже.
Ответы
Ответ 1
Вы следовали инструкциям, перечисленным в оговорках?
[~] brew info nvm
nvm: stable 0.20.0, HEAD
https://github.com/creationix/nvm
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/nvm.rb
==> Caveats
Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell's
equivalent configuration file:
source $(brew --prefix nvm)/nvm.sh
Node installs will be lost upon upgrading nvm. Add the following above
the source line to move install location and prevent this:
export NVM_DIR=~/.nvm
Без дополнительной конфигурации это не похоже на то, что он найдет NVM по умолчанию.
Ответ 2
Есть много вещей, которые вам нужно сделать. Следуйте предостережениям, указанным после установки nvm через brew, и THEN вам нужно активировать/перезагрузить изменения .bash_profile.
- Выполнить
brew install nvm
- Следуйте предостережениям, показанным на консоли, мои были следующими, ваш может быть другим!:
Добавьте следующее в ~/.bash_profile или требуемую оболочку файл конфигурации:
export NVM_DIR="$HOME/.nvm"
. "$(brew --prefix nvm)/nvm.sh"
- Запустите
. ~/.bash_profile
, чтобы применить изменения, внесенные в файл .bash_profile.
Ответ 3
Хотя принятый ответ технически работает, стоит отметить, что установка Homebrew официально не поддерживается пакетом nvm
. Рекомендуемый способ избежать проблем, подобных тем, которые были подняты выше, - это применить любой из приведенных ниже методов установки.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
# or wget:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
источник: https://github.com/creationix/nvm
Ответ 4
Я потратил пару часов на то, чтобы разобраться в этом вопросе, но я пришел к выводу, что DarkPurple141 прав: nvm просто не совместим с Homebrew, так как они утверждают на своем Github nvm-sh/nvm Node Version Manager. Homebrew установит nvm, и все выглядит нормально, пока не попробуют получить npm для установки модуля, Mocha в моем случае. Это вернуло меня к ужасной ошибке:
ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
ПРИМЕЧАНИЕ. На шаге 3 обязательно замените версию верной версией.
Решение для MacOS 10.14 Mojave было следующим:
- $
brew uninstall nvm
- $
brew cleanup
(только для примера)
- $
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
Проверьте правильность установки nvm, запустив $ command -v nvm
.
4.a Если ответ отличается от $ nvm
, добавьте следующие две строки в файл ~/.bash-profile: export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh
4.b Перезагрузите компьютер (вы можете попробовать закрыть Терминал и сначала перезапустить его)
4.c $ command -v nvm should now return
nvm '
Теперь обновите Node.js с $ nvm install --lts
- Обновите npm: $
nvm install-latest-npm
- $
npm install --global mocha
. Наконец, успехов! Ну, для меня, и я надеюсь на тебя тоже.
Ответ 5
Я хотел бы добавить, что местоположение nvm на github изменилось, и версия повысилась.
Команда curl теперь должна выглядеть так:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
Ответ 6
Причина, по которой вам потребуется перезагрузить профили bash или любые другие файлы bash, может быть потому, что команда nvm может не быть программой, а функцией, которая определена и может использоваться только в том случае, если соответствующий bash файл получен.
В системе, которую я проверил
which nvm
не работает, но
nvm list
делает. Это означает, что вы можете использовать слово "nvm" для вызова чего-либо. Это что-то не программа. В текущем случае это функция, которую можно проверить с помощью
typeset -F | grep -P ' nvm$'
который выводит
declare -F nvm
что означает, что nvm - это функция, тело которой можно проверить, выполняя
type -F nvm
Ответ 7
Одна из возможностей использования brew
заключается в том, что nvm
может быть отсоединен, особенно если он был установлен другим пользователем MAC OS.
В этом случае выполните:
brew link nvm
Ответ 8
Для установки nvm, brew install nvm
Чтобы запустить nvm после установки или только один раз, $(brew --prefix nvm)/nvm.sh
Запускать nvm каждый раз, когда открывается zsh
-
nano ~/.zshrc
- Добавьте этот
source $(brew --prefix nvm)/nvm.sh
строки source $(brew --prefix nvm)/nvm.sh