node.js - with - nvm: command not found




nvm在新的終端會話中保留“遺忘”節點 (7)

在OS X中使用新的終端會話時, nvm忘記節點版本,並且默認為nvm

$ nvm ls

         .nvm
     v0.11.12
     v0.11.13

我必須在每個會話中繼續nvm use v.0.11.13

         .nvm
     v0.11.12
->   v0.11.13

我已經嘗試了brew安裝以及官方安裝腳本。

我的.profile的brew版本:

#nvm
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

對於install.sh腳本:

$ curl https://raw.githubusercontent.com/creationix/nvm/v0.10.0/install.sh | bash

#nvm
export NVM_DIR="/Users/farhad/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

任何線索我做錯了什麼?


nvm通過更改PATH變量來完成它的工作,因此您需要確保在採購nvm.sh腳本後,您不會以某種方式將PATH更改為其他內容。

在我的情況下,nvm.sh在.bashrc中被調用,但是然後PATH變量在.bash_profile中得到更新,這導致我的會話在nvm節點之前找到系統節點。


node自身的別名,以避免稍後更新默認別名和節點版本更新。

nvm alias default node

嘗試nvm alias default 。 例如:

$ nvm alias default 0.12.7

這會在你的shell中設置默認的節點版本。 然後通過關閉shell窗口,打開一個新窗口,然後驗證更改是否持續: node --version


在安裝任何版本後運行此操作,

n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local

該命令將通過nvm激活的任何節點版本複製到/ usr / local /目錄並設置權限,以便所有用戶都可以訪問它們。



要安裝最新的穩定版本:

nvm install stable

將默認設置為穩定版本(而不是特定版本):

nvm alias default stable

要列出安裝的版本:

nvm list

v6.2.0 ,它將如下所示:

$ nvm list
         v4.4.2
->       v6.2.0
default -> stable (-> v6.2.0)
node -> stable (-> v6.2.0) (default)
stable -> 6.2 (-> v6.2.0) (default)
iojs -> N/A (default)

這個問題已經提到OSX,但它發生在我的Linux操作系統。 我嘗試使用nvm alias default <version>但是對於每個新的終端會話,使用的節點版本被遺忘。 所以,這是我想出的解決方案。

請確保為節點版本設置默認別名 ,將以下代碼放在.bashrc和source .bashrc

export NVM_DIR="/home/bonnie/.nvm"
## If the file exists and is not empty
if [ -s "$NVM_DIR/nvm.sh" ]; then
    ## Source it
    source "$NVM_DIR/nvm.sh"
fi
NODE_DEFAULT_VERSION=$(<"$NVM_DIR/alias/default")
export PATH="$NVM_DIR/versions/node/$NODE_DEFAULT_VERSION/bin":$PATH

描述性解決方案鏈接







nvm