1.卸載已安裝到全局的 node/npm
如果之前是在官網(wǎng)下載的 node 安裝包褥实,運(yùn)行后會(huì)自動(dòng)安裝在全局目錄桩卵,其中
node 命令在 /usr/local/bin/node 笛臣,npm 命令在全局 node_modules 目錄中,具體路徑為 /usr/local/lib/node_modules/npm
安裝 nvm 之后最好先刪除下已安裝的 node 和全局 node 模塊:
#查看已經(jīng)安裝在全局的模塊棘钞,以便刪除這些全局模塊后再按照不同的 node 版本重新進(jìn)行全局安裝
npm ls -g --depth=0
#刪除全局 node_modules 目錄
sudo rm -rf /usr/local/lib/node_modules
#刪除 node
sudo rm /usr/local/bin/node
#刪除全局 node 模塊注冊(cè)的軟鏈
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm
2.安裝 nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
or Wget:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
具體最新版本在查看git上
https://github.com/creationix/nvm/blob/master/README.md
安裝完成后請(qǐng)重新打開終端環(huán)境
3.查看安裝情況
安裝完 nvm 后缭付,輸入nvm,當(dāng)看到有輸出時(shí)歧譬,則 nvm 安裝成功岸浑。
我在這里遇到個(gè)問題,我安裝了fish shell瑰步,執(zhí)行指令時(shí)報(bào)錯(cuò)
fish: Unknown command 'nvm'
參考下這篇文章
https://medium.com/@joshuacrass/nvm-on-mac-for-fish-users-e00af124c540
如果遇到以下提示:
nvm: command not found
編輯.bash_profile文件矢洲,沒有的話就新建一個(gè),命令都是:
vi .bash_profile
然后將以下代碼復(fù)制進(jìn)去缩焦,保存退出
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
然后 source 一下 .bash_profile
source .bash_profile
4.使用nvm
nvm install stable # 安裝最新穩(wěn)定版 node读虏,現(xiàn)在是 5.0.0
nvm install 4.2.2 # 安裝 4.2.2 版本
nvm install 0.12.7 # 安裝 0.12.7 版本
# 特別說明:以下模塊安裝僅供演示說明,并非必須安裝模塊
nvm use 4 # 切換至 4.2.2 版本
npm install -g mz-fis # 安裝 mz-fis 模塊至全局目錄袁滥,安裝完成的路徑是 /Users/<你的用戶名>/.nvm/versions/node/v0.12.7/lib/mz-fis
nvm use 0 # 切換至 0.12.7 版本
npm install -g react-native-cli #安裝 react-native-cli 模塊至全局目錄盖桥,安裝完成的路徑是 /Users/<你的用戶名>/.nvm/versions/node/v4.2.2/lib/react-native-cli
nvm alias default 0.12.7 #設(shè)置默認(rèn) node 版本為 0.12.7
查看nvm版本:打開新的終端,用nvm current查看當(dāng)前版本顯示
刪除指定版本 node:nvm uninstall v6.6.0
nvm 提供了 nvm use 命令题翻。這個(gè)命令的使用方法和 install 命令類似揩徊。
例如,切換到 4.2.2:
nvm use 4.2.2
切換到最新的 `4.2.x``:
nvm use 4.2
切換到最新版:
nvm use node
我們還可以用 nvm 給不同的版本號(hào)設(shè)置別名:
我們給 4.2.2 這個(gè)版本號(hào)起了一個(gè)名字叫做 awesome-version
nvm alias awesome-version 4.2.2
然后我們可以運(yùn)行:
nvm use awesome-version
下面這個(gè)命令可以取消別名:
nvm unalias awesome-version
另外,你還可以設(shè)置 default 這個(gè)特殊別名:
nvm alias default node
列出已安裝實(shí)例
nvm ls
5.在多環(huán)境中靴拱,npm該如何使用呢垃喊?
每個(gè)版本的 Node 都會(huì)自帶一個(gè)不同版本的 npm,可以用 npm -v 來查看 npm 的版本袜炕。全局安裝的 npm 包并不會(huì)在不同的 Node 環(huán)境中共享本谜,因?yàn)檫@會(huì)引起兼容問題。它們被放在了不同版本的目錄下偎窘,例如 ~/.nvm/versions/node/<version>/lib/node_modules</version> 這樣的目錄乌助。這剛好也省去我們?cè)?Linux 中使用 sudo 的功夫了。因?yàn)檫@是用戶的主文件夾陌知,并不會(huì)引起權(quán)限問題他托。
但問題來了,我們安裝過的 npm 包仆葡,都要重新再裝一次赏参?幸運(yùn)的是,我們有個(gè)辦法來解決我們的問題沿盅,運(yùn)行下面這個(gè)命令把篓,可以從特定版本導(dǎo)入到我們將要安裝的新版本 Node:
nvm install v5.0.0 --reinstall-packages-from=4.2