關(guān)于nodejs 降級,少年你要先看這

寫在前面

前幾天寫了一篇關(guān)于node降級的文章

如何nodejs 降級,安裝低版本

但在實際操作中,發(fā)現(xiàn)不是我想要的。

為啥這樣說呢?那先說說nvm的實現(xiàn)方法。

nvm是將每個node版本的模塊都會被安裝在各自版本的沙箱里面。
它的安裝目錄是在用戶文件目錄里的,也就是(/Users/(youname)/.nvm/)。
當在使用某個版本的時候,安裝的程序都運行在各自版本的沙箱里,這使得它能方便針對不同的項目運行不同的node版本,不用再修改系統(tǒng)所使用的node。

說到這里可能你不是很懂。但你只要知道如果你之前已經(jīng)全局安裝過node的話,那你之前安裝的全局模塊(例如grunt、gulp)就執(zhí)行不了了。。。不了了。。。了了。。。了。。。

因為你全局安裝的node是存放在/usr/local/bin里的,和nvm運行的目錄不一樣。

關(guān)于nvm正確打開方法

最好你是沒全局安裝過node,那恭喜你,直接安裝或使用nvm就好了。

如果你安裝過了呢?那就。。。

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

npm ls -g --depth=0 #查看已經(jīng)安裝在全局的模塊,以便刪除這些全局模塊后再按照不同的 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 模塊注冊的軟鏈

然后你就可以繼續(xù)使用nvm了。

如果你不想卸載了全局的node,又還能切換不同版本的node怎么辦?

n

n是node的一個模塊, 是一個需要全局安裝的 npm package。安裝命令:

npm install -g n

因為和node放在一起,mac用戶自動前面加 sudo

由于n是node的模塊而已,windows用戶也可以用了(是不是松口氣不用換電腦了)

如何使用n

安裝最新的版本

n latest

安裝穩(wěn)定版本

n stable

安裝或使用某個版本

n 6.9.1

刪除某個版本

n rm 4.4.7

不過n也有它的缺點,就是n對已經(jīng)安裝的全局模塊是不作為的。
也就是說,如果你有某個全局模塊使用了這個版本的node來安裝的,當你切換成別的版本的時候,可能由于版本問題,這個全局模塊就不能用了。

via: https://github.com/tj/n

選擇使用n還是nvm呢?

1.如果你使用 Windows,那沒得選了,使用 n,或者換一臺 Mac。
2.如果你會頻繁切換 node 版本(比如本地經(jīng)常測試最新版的特性,同時又要兼顧代碼在生產(chǎn)環(huán)境的兼容性),那么從全局模塊兼容性的角度考慮,只能使用 nvm。
3.如果你是一個輕量級的用戶,不需要擔心兼容性的問題,更關(guān)心 node 安裝和使用上的體驗,那么選擇 n。

最后給入了nvm的坑但又不想用的同學(xué)卸載nvm的方法。

卸載nvm

刪除目錄

rm -rf ~/.nvm
rm -rf ~/.npm
rm -rf ~/.bower

還需要刪除下.bash_profile文件中的配置,將下面的內(nèi)容去掉就好

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

最后重啟一下shell。

參考文章: How to uninstall nvm? #298

————
前端·小h
紙上得來終覺淺,絕知此事要躬行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容