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