Mac上使用nvm管理node版本

1.卸載已安裝到全局的 node/npm

如果之前是在官網(wǎng)下載的 node 安裝包,運行后會自動安裝在全局目錄,其中

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 模塊注冊的軟鏈
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

安裝完成后請重新打開終端環(huán)境

3.查看安裝情況

安裝完 nvm 后,輸入nvm,當(dāng)看到有輸出時,則 nvm 安裝成功。

我在這里遇到個問題,我安裝了fish shell,執(zhí)行指令時報錯

fish: Unknown command 'nvm'

參考下這篇文章
https://medium.com/@joshuacrass/nvm-on-mac-for-fish-users-e00af124c540

如果遇到以下提示:

nvm: command not found

編輯.bash_profile文件,沒有的話就新建一個,命令都是:

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 命令。這個命令的使用方法和 install 命令類似。

例如,切換到 4.2.2:
nvm use 4.2.2
切換到最新的 `4.2.x``:
nvm use 4.2
切換到最新版:
nvm use node

我們還可以用 nvm 給不同的版本號設(shè)置別名:

我們給 4.2.2 這個版本號起了一個名字叫做 awesome-version
nvm alias awesome-version 4.2.2

然后我們可以運行:
nvm use awesome-version

下面這個命令可以取消別名:
nvm unalias awesome-version

另外,你還可以設(shè)置 default 這個特殊別名:
nvm alias default node

列出已安裝實例

nvm ls

5.在多環(huán)境中,npm該如何使用呢?

每個版本的 Node 都會自帶一個不同版本的 npm,可以用 npm -v 來查看 npm 的版本。全局安裝的 npm 包并不會在不同的 Node 環(huán)境中共享,因為這會引起兼容問題。它們被放在了不同版本的目錄下,例如 ~/.nvm/versions/node/<version>/lib/node_modules</version> 這樣的目錄。這剛好也省去我們在 Linux 中使用 sudo 的功夫了。因為這是用戶的主文件夾,并不會引起權(quán)限問題。

但問題來了,我們安裝過的 npm 包,都要重新再裝一次?幸運的是,我們有個辦法來解決我們的問題,運行下面這個命令,可以從特定版本導(dǎo)入到我們將要安裝的新版本 Node:

nvm install v5.0.0 --reinstall-packages-from=4.2
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容