NVM не придерживается псевдонима по умолчанию с ZSH (oh-my-zsh)
у меня уже был установлен NVM, затем я обнаружил oh-my-zsh и установил это. Кажется, у него есть плагин nvm ,который я включил.zshrc.
также я положил это в моем .zprofile
export NVM_DIR="/Users/me/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
теперь я могу использовать nvm, но всякий раз, когда я устанавливаю псевдоним по умолчанию для другой версии, nvm переключается обратно при следующем открытии оболочки.
$ iojs -v
v1.2.0
$ which iojs
/Users/me/.nvm/versions/io.js/v1.2.0/bin/iojs
$ nvm use 1.5.1
Now using io.js v1.5.1
$ nvm alias default iojs v1.5.1
default -> iojs (-> iojs-v1.5.1)
$ which iojs
/Users/me/.nvm/versions/io.js/v1.5.1/bin/iojs
затем после открытия новой оболочке:
$ which iojs
/Users/me/.nvm/versions/io.js/v1.2.0/bin/iojs
может ли мой старый bash установить как-то испортить вещи? Я на OSX кстати, но я думаю, это не имеет значения.
--------- редактировать ------ Больше вывода по запросу
➜ ~ nvm version
iojs-v1.2.0
➜ ~ ls $NVM_DIR/alias
default
➜ ~ cat $NVM_DIR/alias/default
iojs
➜ ~ nvm alias iojs
iojs -> iojs-v1.5 (-> iojs-v1.5.1) (default)
➜ ~ nvm alias $(cat $NVM_DIR/alias/default)
iojs -> iojs-v1.5 (-> iojs-v1.5.1) (default)
Я только что узнал, почему он возвращается к 1.2.0, я думаю. Во время установки oh-my-zsh он, похоже, взял активный путь из моей оболочки Bash и скопировал его .файл zshrc, включая активный путь nvm в то время:
/Users/me/.nvm/versions/io.js/v1.2.0/bin
но после удаления этого из пути, теперь мой zsh не может найти двоичный файл узла после запуска новой оболочки. Так тихо ... вопрос в том, почему я не помню настройку NVM? Я все еще могу установить его в активную оболочку, как раньше, он просто не прилипает.
теперь я думаю, что может быть что-то принципиально неправильно с моей установкой oh-my-zsh. У меня есть плагин git включен, например, в zshrc, но команда "gst" не является допустимым псевдонимом.
Плагины=(git, gitflow, nvm, brew, tmux)
➜ ~ gst
zsh: command not found: gst
4 ответов
добавить ниже в конце .zshrc
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
обратите внимание, что это должно быть в конце, я не знаю, почему
теперь он работает. Переустановил oh-my-zsh.
Я не уверен, что изменилось. Кажется, мне нужно сохранить плагин nvm для его работы.
без плагина я попытался ввести команду запуска nvm .zprofile
export NVM_DIR="/Users/me/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
хотя файл загружен при создании новой оболочки, он, похоже, не включил NVM должным образом.
также я заметил, что если я сделаю ошибку в конфигурации плагина zsh .zshrc, ошибки нет а плагины просто не будут работать. Так что с этим надо быть осторожнее. Например, я случайно использовал запятые, а затем Плагины ломаются без предупреждения:
plugins=(git, gitflow, nvm)
Я использую OSX 10.11.6 с Hyper и Oh My Zsh. Мне пришлось удалить nvm
Это было установлено через homebrew
, переустановите его через команду curl, а затем добавьте эту строку в самое дно, чтобы она работала правильно. Я уверен, что это что-то со всеми моими плагинами/настройками/бла, но это то, что заставило его работать для меня:
source "$NVM_DIR/nvm.sh"
в самом конце моя
это работало для меня, когда я добавил ~/.zprofile
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh