mac中利用NVM管理不同node版本的方法詳解
前言
大家在開始本文的正文之前,建議大家先看看這篇文章:http://www.dbjr.com.cn/article/73424.htm,這篇文章給大家詳細(xì)介紹了關(guān)于node.js 下使用 nvm 或者 n 來進(jìn)行版本控制及nvm 安裝node.js 版本后,重啟終端 node , npm 環(huán)境變量失效的相關(guān)內(nèi)容,好了,下面開始本文的正文:
Mac 下通過 brew install nvm
所安裝的 nvm ,由于安裝路徑不同,無法正確啟用。建議使用 brew uninstall nvm
卸載掉之后,通過本文的方案重新安裝一次。
卸載已安裝到全局的 node/npm
如果之前是在官網(wǎng)下載的 node 安裝包,運(yùn)行后會自動安裝在全局目錄,其中
node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目錄中,具體路徑為 /usr/local/lib/node_modules/npm
安裝 nvm 之后最好先刪除下已安裝的 node 和全局 node 模塊:
npm ls -g --depth=0 #查看已經(jīng)安裝在全局的模塊,以便刪除這些全局模塊后再按照不同的 node 版本重新進(jìn)行全局安裝 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來管理
場景:同組的同事使用node版本是5.7.0,而本機(jī)安裝了node 7.2.0,如何兼容?
使用nvm管理。
- 使用Homebrew安裝nvm
- 使用nvm安裝Node.js
- 使用nvm無痛切換Node.js版本
安裝nvm
brew install nvm
使nvm生效
source $(brew --prefix nvm)/nvm.sh
或者:
echo "source $(brew --prefix nvm)/nvm.sh" >> .bash_profile . ~/.bash_profile
使用nvm安裝Node.js
nvm ls-remote
查看可用版本:
v0.10.20 v0.10.21
安裝:
nvm install <version>
比如:
nvm install v5.7.0
還有
nvm install v7.2.0
使用nvm無痛切換Node.js版本
nvm會把各個版本的node安裝在/usr/local/opt/nvm底下??梢钥纯丛撃夸浀紫路帕四男〇|西:
$ ls /usr/local/opt/nvm INSTALL_RECEIPT.json LICENSE.md alias bin nvm.sh v5.7.0 v7.2.0
我們可以發(fā)現(xiàn)透過nvm安裝這兩個版本,事實上會在nvm目錄下另外建立了v5.7.0以及v7.2.0兩個目錄來分別存放node的binary檔。又nvm會在你的$PATH最前面安插指定版本的目錄,透過這個方式你在使用node指令時就會用指定的版本來運(yùn)作了。
實際確認(rèn)PATH的值看看:
$ echo $PATH /usr/local/opt/nvm/v5.7.0/bin: ...
查看當(dāng)前可用版本
nvm ls
切換版本:
nvm use <version>
比如
nvm use --delete-prefix v5.7.0
也可以偷懶一點,不用打完整的版號:
$ nvm use --delete-prefix 5.7 Now using node v5.7.0
切換成別的版本:
$ nvm use --delete-prefix 7 Now using node v7.2.0
不過問題來了,如果你另外開一個shell視窗,並輸入nvm,會發(fā)現(xiàn)current version是空的:
$ nvm ls v0.10.24 v0.11.10 current:
這是因為利用nvm use指令只會在當(dāng)前的shell生效,當(dāng)你開了新的shell就會發(fā)現(xiàn)$PATH的值已經(jīng)不包含剛才設(shè)定的node目錄了。
要解決這個問題就是利用
$ nvm alias default <version>
來設(shè)定一個預(yù)設(shè)的node版本:
$ nvm alias default 5.7.0 default -> 5.7 (-> v5.7.0)
此時再打開另一個shell視窗,就可以直接使用你所設(shè)定的node版本了。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
在Node.js中將SVG圖像轉(zhuǎn)換為PNG,JPEG,TIFF,WEBP和HEIF格式的方法
這篇文章主要介紹了在Node.js中將SVG圖像轉(zhuǎn)換為PNG,JPEG,TIFF,WEBP和HEIF格式的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08node管理統(tǒng)計文件大小并顯示目錄磁盤空間狀態(tài)從零實現(xiàn)
這篇文章主要為大家介紹了node管理統(tǒng)計文件大小并顯示目錄磁盤空間狀態(tài)的從零實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12node.js連接mongoDB數(shù)據(jù)庫 快速搭建自己的web服務(wù)
這篇文章主要為大家詳細(xì)介紹了node.js連接mongoDB數(shù)據(jù)庫,如何快速搭建自己的web服務(wù),感興趣的小伙伴們可以參考一下2016-04-04