決定也在電腦的 Windows 系統裡裡安裝 Node.js 了。(之前我都在 WSL2 或者用 Multipass 建立的虛擬機裡用)

版本管理器

安裝前,當然還是先裝版本管理器啦 (version manager)。

版本管理器可以方便你安裝不同版本的 Node.js, 在不同的 projects 裡方便地切換使用,相當方便。

Node.js 上最有名的大概是 nvm (Node Version Manager), 可是它不支援 Windows. 而且之前在 macOS 上用過 nvm, 令我打開 Terminal 的時間大幅增長,得另外修改 Shell 的 rc 檔才解決,印象不佳。

記得同類型軟件 fnm 三個平台 (Windows, macOS, Linux) 都能用,於是這次便使用 fnm 安裝了。

Blazing fast!
圖片來自 fnm 官網:https://github.com/Schniz/fnm

安裝 fnm

官網寫 Windows 可以透過 Scoop, Chocolate, Cargo 安裝,但我都不喜歡。

最後選擇是安裝使用編譯好的執行檔(乾淨又方便呀) :

在這裡 https://github.com/Schniz/fnm/releases 下載最新版的 fnm-windows.zip

下載好,把裡面的 fnm.exe 解壓縮去你想放置的地方。我是放在 C:\Program Files\fnm-v1.31.0 裡。

然後把上面放置了 fnm.exe 的路徑放在 PATH 上。如果你不會設置 PATH 的話,可以參考這裡這裡

安裝 Node.js

設置好 PATH 後,打開/重開 Terminal, 輸入 fnm -version 就可以看到安裝好的 fnm 版本了。

PS C:\Users\oldestdream> fnm --version
fnm 1.31.0

然後我想安裝最新的長期支援版本 (即 LTS 版)。參考官網,目前是 v16.14.2

通過 fnm list-remote 查看可以安裝的 Node.js 版本。

目前最新的版本為 v16.14.2, 於是便通過 fnm install v16.14.2 來下載了。

然後可以用 fnm list 來看目前已經安裝了的版本:

PS C:\Users\oldestdream> fnm list
* v16.14.2 default
* system

下載了的 Node.js 是放在這路徑:

C:\Users\oldestdream\AppData\Roaming\fnm

修改 PowerShell profile

你重開 Terminal 輸入 node -v

查看安裝後的版本,會發現找不到 node, 原因是我們需要在載入 Shell 時,先運行 fnm env 所提供的設置。

node: The term 'node' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

做法也很簡單,在 PowerShell 裡輸入 $PROFILE 。會見到一條路徑:

PS C:\Users\oldestdream> $PROFILE
C:\Users\oldestdream\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

你很可能找不到這個文件,路徑也不存在。

不存在的話,就要自己根據這路徑創造那文件出來了。

文件內加入下面這句即可:

fnm env --use-on-cd | Out-String | Invoke-Expression

記得保存喲~

測試

重開 Terminal (PowerShell),試試 node -vnpm -v ,都能使用了。

PS C:\Users\oldestdream> node -v
v16.14.2
PS C:\Users\oldestdream> npm -v
8.5.0

cmd 設定

因為我日常是使用 PowerShell 而非 cmd , 所以我也不想搞。

有興趣的話,可以參考官方的做法:

https://github.com/Schniz/fnm#windows-command-prompt-aka-batch-aka-wincmd

References

https://github.com/Schniz/fnm

https://nodejs.org/en/download/package-manager/

Recommended Posts

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments