FNM(Fast Node Manager) - 另一個好用的 Node 版本管理工具
今天逛 Github 時突然發現 fnm 這個專案,它類似 nvm,是用來管理 node 版本的工具。
簡單介紹一下這兩款管理工具,nvm,全名 Node Version Manager,是用 shell script 寫的,而 fnm,全名 Fast Node Manager 則是用 Rust,Rust 最近真的很熱門阿,而且我發現好像使用 Rust 做的工具都會被貼上 Fast 的標籤xD,因為它的執行速度真的很快,就連最近剛宣佈被 Adobe 收購的 Figma 都是用 Rust 寫的,然後在編譯成 WebAssembly(使用起來效率真的很高,難怪能夠成為主流)。
不過今天介紹這個 fnm,並不是說它 nvm 快多少,畢竟現在大家電腦都很好(x),主要是提供給大家不同的工具選擇囉~
趕緊來看看怎麼用吧!🚀
安裝
首先是安裝,這邊只會介紹 Linux 的部份喔(因為我是用 Linux🤣
curl -fsSL https://fnm.vercel.app/install | bash
或是透過 Homebrew
brew install fnm
或是 Cargo
cargo install fnm
環境設置
基本上當你使用以上指令安裝完之後,fnm 會自動幫你加上環境變數,不過如果你真的遇到它沒幫你加的話,記得在你的 .bashrc
或是 .zshrc
裡面加上以下設定:
export PATH=/home/kurt/.fnm:$PATH
eval "`fnm env`"
加完之後記得執行
source
指令讓他生效。
使用方式
Step 1
在你的專案資料夾新增一個檔案,檔名設為 .node-version
,在這個檔案裡面指定你要的版本號,例如: v16.13.
可以使用這個指令來新增檔案:
echo "v16.13.0" > .node-version
Note: .node-version 也可以改為 .nvmrc,使用 .nvmrc 可以與 nvm 相容
Step 2
開啟 terminal,進到專案資料夾中,執行 fnm use
即可,如果你在這之前還沒下載過該版本的 node,這時 fnm 會詢問你是否下載,輸入 y 按下 enter 它就會開始幫你下載,下載完之後自動使用該版本喔!
當然你也可以先執行 fnm install
自動偵測 Node 版本
當我們開發的專案一多,我們時常會需要切換來切換去的,就很容易遇到專案間使用的 Node 版本不同的問題,這時後要自己手動切換是滿惱人的,而且有時候忘記切換,還會想說怎麼專案出錯了Orz…
好險 fnm 提供一個很簡單的方式讓我們在切換專案時,可以自動偵測 Node 版本,也自動幫我們切換
你只需要把 .bashrc
或是 .zshrc
檔案裡面的
eval "`fnm env`"
改成
eval "$(fnm env --use-on-cd)"
實測如下:
如果你還沒安裝需要的版本,fnm 會先提醒你是否要安裝
沒錯,使用上就是這麼簡單,基本上你有用過 nvm 的話,fnm 使用起來也絕對一下就可以上手,想知道更多 fnm 提供的指令可以在 terminal 輸入 fnm
,就會跳出所有可以用的指令囉!