告別Node.js版本困擾,輕松切換開發(fā)環(huán)境!
大家好,我是 陌溪。
最近,在下載別人的開源項目進(jìn)行學(xué)習(xí)的時候,總是因為 Node 環(huán)境問題導(dǎo)致沒法依賴無法正常安裝,因為人家開源項目限制了一定要高于某個版本,差點勸退了我。
Node版本限制
因為平時偶爾寫寫蘑菇的前端代碼,所以我本地安裝的 Node.js 版本一直是 14.x,由于不同 Node 版本之間也沒有很好的兼容,所以會出現(xiàn)各種詭異的版本依賴報錯。按照原來的做法,我是直接在 Node 官網(wǎng)又下載一個版本,然后把環(huán)境變量改成對應(yīng)版本的,這樣就可以正常安裝了。等到使用完后,再修改回原來的版本,這一來一回真是太折騰人了。
這個問題應(yīng)該在我們?nèi)粘i_發(fā)中應(yīng)該會經(jīng)常遇到,尤其是喜歡上開源網(wǎng)站上下載別人項目搗鼓的同學(xué),每個項目之間的技術(shù)棧不同,使用的 Node 版本也各不相同,如果沒有一個管理工具,那上面我的那種方式將會特別麻煩,直到我在網(wǎng)上沖浪的時候,發(fā)現(xiàn)別人都在使用 nvm 進(jìn)行任意 Node 版本的切換,真是泰褲辣。
多個Node版本切換
nvm是什么
nvm 全英文也叫 node.js version management,是一個 nodejs 的版本管理工具,為了解決 node.js 各種版本存在不兼容現(xiàn)象,可以通過它可以安裝和切換不同版本的 node.js。
這不就是為我這種開源學(xué)習(xí)者量身定制的么,后悔沒早點安裝它。
另外 nvm 也是完全開源的,如果是 windows 用戶的話,可以直接訪問開源的 Github 項目 nvm-windows。
https://github.com/coreybutler/nvm-windows
如果是 mac 或者 Linux 系統(tǒng)的用戶的話,去下載 nwm 即可
https://github.com/nvm-sh/nvm
這里說一下:nvm 和 nvm-windows 的區(qū)別
- nvm:Node.js 版本管理工具的原始實現(xiàn),可以在 macOS 和 Linux 等類 Unix 系統(tǒng)上運行。
- nvm-windows:專為 Windows 操作系統(tǒng)開發(fā)的 Node.js 版本管理工具,以在 Windows 上輕松管理 Node.js 版本。
但是雖然這兩個開源軟件名字是不同,他們的命令和使用是完全一致的,這個小伙伴根據(jù)自己的操作系統(tǒng)自行選擇即可。
同時,除了這里提到的 nvm 和 nvm-windows 外,還有另外一款桌面級的Node.js 版本管理軟件:nvm-desktop
- nvm-desktop:是一個以可視化界面操作方式管理多個 Node 版本的桌面應(yīng)用,使用 Electron 構(gòu)建(支持 Macos 和 Windows 系統(tǒng))。通過該應(yīng)用,您可以快速安裝和使用不同版本的 Node。
如果覺得命令的方式來操作 Node 版本切換過于麻煩 ,小伙伴也可以使用 nvm-desktop ,在下文中,陌溪也會親自體驗一波。
nvm下載
首先,我使用的是 Windows 電腦,所以需要去 Github Release 發(fā)行版去下載 nvm-windows
nvm-windows下載地址:
https://github.com/coreybutler/nvm-windows/releases/tag/1.1.11
然后選擇 exe 結(jié)尾的可執(zhí)行文件,點擊下載即可
圖片
下載nvm
下載完成后,直接點擊安裝即可,如果小伙伴電腦原來已經(jīng)安裝了 Node,在安裝 nvm過程中可能會出現(xiàn)需要覆蓋的確認(rèn)項,直接同意覆蓋即可。
如果是 mac 或者 linux 的用戶,直接使用命令即可一鍵安裝
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
安裝完成后,使用 nvm 命令,如果出現(xiàn)了對應(yīng)的版本,以及命令的幫助信息,即表示成功安裝 nvm
安裝成功
nvm配置
在安裝好 NVM 后,首先需要打開安裝目錄,然后找到 settings.txt 文件
配置鏡像
在文件里需要配置對應(yīng)的 node_mirror 和 npm_mirror 的鏡像地址,下面是兩個配置的作用:
- node_mirror:是用于指定 Node.js 下載鏡像的環(huán)境變量或配置選項。當(dāng)你在安裝 Node.js 時,Node.js 安裝程序可能會從官方源下載 Node.js 的二進(jìn)制文件。然而,有時官方源速度較慢或不穩(wěn)定,因此你可以使用 node_mirror 來指定一個替代的鏡像源,以提高下載速度和可靠性。
- npm_mirror:是用于指定 npm 包管理器下載鏡像的環(huán)境變量或配置選項。當(dāng)你使用 npm 安裝 Node.js 包時,npm 會從默認(rèn)的全球源下載包。然而,有時這些全球源可能不夠快或不夠穩(wěn)定。
所以,我們只需要在這個文件下面,追加淘寶的鏡像地址即可:
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
NVM安裝不同Node版本
在安裝前,我們先了解一下常用的幾個命令
- nvm arch:顯示node是運行在32位還是64位。
- nvm install[arch] :安裝node, version是特定版本也可以是最新穩(wěn)定版本latest??蛇x參數(shù)arch指定安裝32位還是64位版本,默認(rèn)是系統(tǒng)位數(shù)??梢蕴砑?-insecure繞過遠(yuǎn)程服務(wù)器的SSL。
- nvm list [available] :顯示已安裝的列表??蛇x參數(shù)available,顯示可安裝的所有版本。list可簡化為ls。
- nvm on :開啟node.js版本管理。
- nvm off :關(guān)閉node.js版本管理。
- nvm proxy [url] :設(shè)置下載代理。不加可選參數(shù)url,顯示當(dāng)前代理。將url設(shè)置為none則移除代理。
- nvm node_mirror [url] :設(shè)置node鏡像。如果不寫url,則使用默認(rèn)url。設(shè)置后可至安裝目錄settings.txt文件查看,也可直接在該文件操作。
- nvm npm_mirror [url] :設(shè)置npm鏡像。如果不寫url,則使用默認(rèn)url。設(shè)置后可至安裝目錄settings.txt文件查看,也可直接在該文件操作。
- nvm uninstall :卸載指定版本node。
- nvm use [version] [arch] :使用指定版本node??芍付?2/64位。
- nvm root [path] :設(shè)置存儲不同版本node的目錄。如果未設(shè)置,默認(rèn)使用當(dāng)前目錄。
- nvm version :顯示nvm版本。version可簡化為v。
首先,以蘑菇為例,推薦的 Node 版本是 14.x,所以我們需要使用 npm list available 去查看對應(yīng)的版本
可用的Node版本
可以看到,安裝的列表里竟然沒有蘑菇推薦的:14.x,(這。??磥磉@個版本已經(jīng)太老了,下次得給蘑菇升級一下版本依賴了)
如果沒有找到對應(yīng)的版本,在列表下方的一行字體里也說了,這個是部分的列表信息,如果要完整的可以直接跳轉(zhuǎn)到 Node 官網(wǎng)查看
This is a partial list. For a complete list, visit https://nodejs.org/en/download/releases
我們進(jìn)入到官網(wǎng),即可看到 14.21.3 是目前還在維護(hù)的一個 node 版本,并且在 2023-02-16 還在更新
官網(wǎng)尋找
好,那我們就安裝 14.21.3 ,使用下面命令安裝即可(強烈建議按照上面的方式,先配置好鏡像地址,不然安裝會很慢..)
nvm install 14.21.3
安裝Node成功
安裝完成后,我們可以用 nvm list 進(jìn)行查看,可以看到 我們系統(tǒng)中已經(jīng)有了這個版本的 Node
圖片
但是現(xiàn)在還沒有激活這個 Node,需要使用 npm use 命令進(jìn)行激活使用,激活后就可以看到當(dāng)前版本正在使用中
npm use 14.21.3
激活node
激活后,我們查看一下當(dāng)前的 npm 版本,可以看到已經(jīng)成功切換到指定版本的 node 版本了
查看node版本
切換到14.x后,就正常的運行蘑菇博客項目了~
運行蘑菇
同時,我們還可以繼續(xù)安裝 其它版本的 Node,例如上面我下載的一個開源軟件最低要求 16.x 版本的 Node,我們按照上述方法,找到一個合適的版本
nvm install 16.19.0
然后在查看目前系統(tǒng)中已經(jīng)存在的版本,可以看到現(xiàn)在已經(jīng)有兩套 Node 版本了,一個是 14.x,一個是 16.x,我們可以按照自己項目依賴的版本,進(jìn)行切換即可
圖片
如果最后不想使用這個版本的 Node 了,也可以直接使用 nvm uninstall 命令卸載即可
nvm uninstall 14.21.3
圖片
好了,關(guān)于 nvm 的使用就到這里了,小伙伴們趕緊使用起來~
nvm-desktop 初使用
介紹完 nvm 后,我們再來看另外一個桌面級的 node 版本管理器:nvm-desktop。
nvm-desktop 是一個用 Electron 開發(fā)的一個桌面應(yīng)用,這個應(yīng)用提供了以可視化界面操作的形式讓用戶為自己的操作系統(tǒng)設(shè)置和切換Node版本的能力,而nvm-desktop 想要具備這種能力就離不開 nvmd-command ,因為具體的功能是在 nvmd-command 中實現(xiàn)的。
nvmd-command 是一個單一、快速的本機可執(zhí)行文件,沒有外部依賴項,并且使用 Rust 構(gòu)建,它依賴 nvm-desktop 的設(shè)置來識別出正確的 Node 版本。
首先,我們在 Github 中找到 nvm-desktop 下載地址
https://github.com/1111mp/nvm-desktop/releases
然后找到 windows 版本,選擇 exe 后綴的文件進(jìn)行下載
下載安裝包
下載完成后進(jìn)行安裝,最后運行成功后的頁面如下所示,這個效果就和我們命令行的 nvm list 類似,會展示所有可安裝的 node 版本信息
運行截圖
并且,上面展示的 node 版本更全,比如:蘑菇需要用到的 16.x,在這里也都可以找到
更多的Node版本
在安裝 Node 前,也可以設(shè)置一下 node 的鏡像地址,從而加速 node 的訪問
設(shè)置鏡像地址
小伙伴根據(jù)自己項目的需要,使用對應(yīng)版本即可
安裝依賴
安裝完成后,我們切換到已安裝的目錄,點擊更多選項,即可直接應(yīng)用該版本,效果上面使用的 nvm use 也是一樣的
切換成功
切換完成后,小伙伴也可以正常的使用 Node 了,如果要使用不同的版本,直接就去所有版本那里尋找即可。
關(guān)于如何優(yōu)雅的切換 Node 版本就講到這里了~