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)行后會(huì)自動(dòng)安裝在全局目錄,其中
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 模塊注冊(cè)的軟鏈
通過nvm來管理
場(chǎng)景:同組的同事使用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會(huì)把各個(gè)版本的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安裝這兩個(gè)版本,事實(shí)上會(huì)在nvm目錄下另外建立了v5.7.0以及v7.2.0兩個(gè)目錄來分別存放node的binary檔。又nvm會(huì)在你的$PATH最前面安插指定版本的目錄,透過這個(gè)方式你在使用node指令時(shí)就會(huì)用指定的版本來運(yùn)作了。
實(shí)際確認(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
也可以偷懶一點(diǎn),不用打完整的版號(hào):
$ nvm use --delete-prefix 5.7 Now using node v5.7.0
切換成別的版本:
$ nvm use --delete-prefix 7 Now using node v7.2.0
不過問題來了,如果你另外開一個(gè)shell視窗,並輸入nvm,會(huì)發(fā)現(xiàn)current version是空的:
$ nvm ls v0.10.24 v0.11.10 current:
這是因?yàn)槔胣vm use指令只會(huì)在當(dāng)前的shell生效,當(dāng)你開了新的shell就會(huì)發(fā)現(xiàn)$PATH的值已經(jīng)不包含剛才設(shè)定的node目錄了。
要解決這個(gè)問題就是利用
$ nvm alias default <version>
來設(shè)定一個(gè)預(yù)設(shè)的node版本:
$ nvm alias default 5.7.0 default -> 5.7 (-> v5.7.0)
此時(shí)再打開另一個(gè)shell視窗,就可以直接使用你所設(shè)定的node版本了。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
nodejs實(shí)現(xiàn)超簡單生成二維碼的方法
這篇文章主要介紹了nodejs實(shí)現(xiàn)超簡單生成二維碼的方法,結(jié)合實(shí)例形式分析了nodejs基于qr-image插件生成二維碼的相關(guān)操作技巧,需要的朋友可以參考下2018-03-03NodeJs之word文件生成與解析的實(shí)現(xiàn)代碼
這篇文章主要介紹了NodeJs之word文件生成與解析的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04在Node.js中將SVG圖像轉(zhuǎn)換為PNG,JPEG,TIFF,WEBP和HEIF格式的方法
這篇文章主要介紹了在Node.js中將SVG圖像轉(zhuǎn)換為PNG,JPEG,TIFF,WEBP和HEIF格式的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08node管理統(tǒng)計(jì)文件大小并顯示目錄磁盤空間狀態(tài)從零實(shí)現(xiàn)
這篇文章主要為大家介紹了node管理統(tǒng)計(jì)文件大小并顯示目錄磁盤空間狀態(tài)的從零實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12node.js連接mongoDB數(shù)據(jù)庫 快速搭建自己的web服務(wù)
這篇文章主要為大家詳細(xì)介紹了node.js連接mongoDB數(shù)據(jù)庫,如何快速搭建自己的web服務(wù),感興趣的小伙伴們可以參考一下2016-04-04