Miałem już zainstalowany NVM, a następnie odkryłem, że och-my-zsh i zainstalowałem to. Wygląda na to, że ma wtyczkę nvm, którą włączam w .zshrc.NVM nie przylega do domyślnego aliasu z ZSH (oh-my-zsh)
także kładę to w moim .zprofile
export NVM_DIR="/Users/me/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
Teraz mogę używać NVM, ale ilekroć ustawić domyślny alias do innej wersji, NVM przełącza się z powrotem następnym razem mogę otworzyć powłokę.
$ 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
Następnie po otwarciu nowej powłoki:
$ which iojs
/Users/me/.nvm/versions/io.js/v1.2.0/bin/iojs
Czy mój stary bash zainstalować jakiś bałagan rzeczy? Jestem na OSX btw ale myślę, że to nie robi różnicy.
--------- edit ------ Więcej wyprowadzane jako wezwanego
➜ ~ 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)
Właśnie dowiedziałem się, dlaczego to powrót do 1.2.0 myślę. Podczas instalacji oh-my-zsh wydaje się mieć aktywną ścieżkę z moim basha i kopiowane do pliku .zshrc tym aktywnej ścieżce NVM w czasie:
/Users/me/.nvm/versions/io.js/v1.2.0/bin
Ale po usunięciu że z PATH , teraz mój zsh nie może znaleźć żadnego pliku binarnego węzła po uruchomieniu nowej powłoki. Więc wciąż pytanie brzmi: dlaczego nie jest zapamiętane ustawienie NVM? Wciąż mogę ustawić ją w aktywnej powłoce jak poprzednio, po prostu się nie klei.
Teraz myślę, że może być coś zasadniczo nie tak z moją instalacją oh-my-zsh. Mam włączoną wtyczkę git na przykład w zshrc, ale polecenie "gst" nie jest prawidłowym aliasem.
plugins = (git, gitflow, NVM, parzenie, tmux)
➜ ~ gst
zsh: command not found: gst
„ilekroć ustawić domyślny alias do innej wersji "Czy mógłbyś wyjaśnić szczegółowo, co to oznacza? (Jaką komendę uruchomiłeś?) – 4ae1e1
Ok Myślałem, że jest jasne dla użytkowników nvm, ale dodałem polecenia –
Proszę dołączyć dane wyjściowe 'nvm version',' ls $ NVM_DIR/alias', 'cat $ NVM_DIR/alias/default ',' alias nvm iojs' i 'alias nvm $ (cat $ NVM_DIR/alias/default)' po otwarciu nowej powłoki. – 4ae1e1