使用 nvm 管理不同版本的 node 與 npm
nvm 是 Mac 下的 node 管理工具,有點類似管理 Ruby 的 rvm,如果是需要管理 Windows 下的 node,官方推薦是使用 nvmw 或 nvm-windows 。
以下具體說下 Mac 系統中的安裝與使用細節。
一、卸載已安裝到全局的 node/npm
如果之前是在官網下載的 node 安裝包,運行后會自動安裝在全局目錄,其中
node
命令在 /usr/local/bin/node
,npm
命令在全局 node_modules
目錄中,具體路徑為 /usr/local/lib/node_modules/npm
安裝 nvm 之后最好先刪除下已安裝的 node 和全局 node 模塊:
npm ls -g --depth=0 #查看已經安裝在全局的模塊,以便刪除這些全局模塊后再按照不同的 node 版本重新進行全局安裝 sudo rm -rf /usr/local/lib/node_modules #刪除全局 node_modules 目錄
sudo rm /usr/local/bin/node #刪除 node
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm #刪除全局 node 模塊注冊的軟鏈
二、安裝 nvm
安裝完成后請重新打開終端環境,Mac 下推薦使用 oh-my-zsh 代替默認的 bash shell。
三、安裝切換各版本 node/npm
nvm install stable #安裝最新穩定版 node,現在是 5.0.0 nvm install 4.2.2 #安裝 4.2.2 版本
nvm install 0.12.7 #安裝 0.12.7 版本
安裝演示
nvm use 0 #切換至 0.12.7 版本
npm install -g mz-fis #安裝 mz-fis 模塊至全局目錄,安裝完成的路徑是 /Users/<你的用戶名>/.nvm/versions/node/v0.12.7/lib/mz-fis
nvm use 4 #切換至 4.2.2 版本
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 #設置默認 node 版本為 0.12.7
四、使用 .nvmrc 文件配置項目所使用的 node 版本
如果你的默認 node 版本(通過 nvm alias 命令設置的)與項目所需的版本不同,則可在項目根目錄或其任意父級目錄中創建 .nvmrc 文件,在文件中指定使用的 node 版本號,例如:
cd <項目根目錄> #進入項目根目錄 echo 4 > .nvmrc #添加 .nvmrc 文件
nvm use #無需指定版本號,會自動使用 .nvmrc 文件中配置的版本
node -v #查看 node 是否切換為對應版本
五、nvm 與 n 的區別
node 版本管理工具還有一個是 TJ 大神的 n 命令,n 命令是作為一個 node 的模塊而存在,而 nvm 是一個獨立于 node/npm 的外部 shell 腳本,因此 n 命令相比 nvm 更加局限。
由于 npm 安裝的模塊路徑均為 /usr/local/lib/node_modules ,當使用 n 切換不同的 node 版本時,實際上會共用全局的 node/npm 目錄。 因此不能很好的滿足『按不同 node 版本使用不同全局 node 模塊』的需求。
因此建議各位盡早開始使用 nvm ,以免出現全局模塊無法更新的問題。
安裝nvm
打開終端 輸入命令
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash
提示成功后nvm安裝成功,在終端運行nvm命令,提示nvm:command not found
配置nvm環境變量
這個時候網上有一個解決方法 在終端中輸入命令,但是這種方法有問題,每次重啟終端的時候就要重新輸入一下命令,否則nvm還是找不到
解決方法
** 參考文檔 **
mac配置環境變量: https://blog.csdn.net/handsomefuhs/article/details/79687381
mac下nvm的配置: http://www.lxweimin.com/p/a3f8778bc0a1
操作過程
打開終端,在終端輸入vi ./.bash_profile
打開./.bash_profile
文件,輸入完成后看到如下頁面
敲回車 ,打開./.bash_profile
文件,但是還處于查看模式,不能編輯。輸入“i”,進入insert模式,這個時候添加環境變量
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
輸入完成后,點擊esc退出編輯模式,然后輸入:wq!保存文件
重新打開終端 再次輸入nvm 發現可以讀到了 配置成功