Document
安裝 nvm 環境,Node.js 開發者必學(Windows、Mac 均適用) | 卡斯伯 Blog

安裝 nvm 環境,Node.js 開發者必學(Windows、Mac 均適用) | 卡斯伯 Blog

使用 NVM 已經是 Node.js 開發者必備的工具,它最大的用途在於可以輕鬆切換不同版本的 Node.js,尤其在後端的專案中,團隊需要統一的開發環境時可以精確切換到同一個 Node.js 子版本上,避免發生版本不同所發生的問題。 NVM 為 Node Version Manager 的縮寫,

Related articles

10 Best Free Tools to Download and Install Drivers in Windows Best NFL Game Pass Enterprise Cloud Definition, Business Benefits and Key Solutions in 2024 Advantages of Cloud Computing Download, Install, and Connect the Mobile VPN with SSL Client

使用 NVM 已經是 Node.js 開發者必備的工具,它最大的用途在於可以輕鬆切換不同版本的 Node.js,尤其在後端的專案中,團隊需要統一的開發環境時可以精確切換到同一個 Node.js 子版本上,避免發生版本不同所發生的問題。

NVM 為 Node Version Manager 的縮寫,顧名思義就是「Node 版本管理控制」,常用的功能包含:

  • 切換 Node.js 的版本
  • 使用特定 Node.js 作為預設啟用環境
  • 安裝不同的套件至特定的版本上

除了以上的功能外,就我在使用的感受上甚至可以比官方下載安裝有便利的體驗(例如:Mac OS 系統下不需要使用 sudo 就能使用 npm install)。

接下來本篇文章將要來介紹如何安裝 NVM 工具,流程如下:

  • 安裝 NVM
  • Mac 環境的額外設定
  • 常見 NVM 指令及示範

安裝 NVM 環境

接下來到 NVM 的 GitHub 儲存庫下載,無論你是 Windows、MacOS、Unix 系統都有對應的安裝方式。

Windows

NVM for Windows 有提供安裝工具,下載後照著安裝精靈依序完成即可運作,下載連結。

請選擇 nvm-setup 下載並安裝

下載後依循著安裝精靈即可完成。

完成後,打開「命令提示字元」可以試著輸入 nvm,如果看到類似以下畫面就算是完成了。

MacOS

MacOS 則是使用指令進行安裝,打開「終端機」或自行安裝的「iTerm」等工具,輸入以下指令即可開始安裝,(更多版本連結)。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

安裝後預期會顯示以下片段及算安裝完成,而此時如果你有安裝其它指令工具,有可能會發生輸入 nvm 無法呼叫的狀況(例如:zsh: command not found: nvm)。
安裝 nvm 環境,Node.js 開發者必學(Windows、Mac 均適用) | 卡斯伯 Blog

接下來可以在你所使用的命令設定檔案加入以下片段程式碼,以下提供 bash、zsh 的說明,兩者依據環境選擇其一即可:

☝️ bash

預設的情況下,MacOS 中可能沒有任何一個指令設定檔案,此時可以使用 touch ~/.bash_profile 新增一個文字檔案在根目錄上,接下來回到資料根目錄可以找到 .bash_profile,沒看到的話代表未開啟隱藏檔案顯示,可以按下 Command + Shift+ . 顯示。

接下來使用任何文字編輯器打開該檔案,並加入以下程式碼存檔即可。

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  

☝️ zsh

可以打開 .zshrc 加入以下片段後重啟(注意:.zshrc 通常在使用者根目錄下並且為隱藏檔,找到後使用任何文字編輯器打開編輯)。

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  

設定完成以後,按下 nvm 就會跳出如下圖就算完成了。
安裝 nvm 環境,Node.js 開發者必學(Windows、Mac 均適用) | 卡斯伯 Blog

🚀 常用 NVM 指令

直接輸入 nvm 及可以看到所有的指令列表,在此僅列出最常見的幾個指令(基本上常用的只有兩三個,剩下幾個只要認識即可)

常見指令:

  • nvm ls-remote:列出目前可用的遠端 Node.js 版本
  • nvm install :安裝特定版本的 Node.js
  • nvm ls:列出本定端所安裝的 Node.js 環境
  • nvm alias default node:設定命令列預設開啟的 Node.js 版本
  • nvm use:當前命令列套用特定版本的 Node.js

示範

第一次安裝,如果不清楚選擇哪一個版本,可到 Node.js 官方網站 查看,通常會用左右的方式排列,選擇其中左方的 LTS 推薦的版本。
安裝 nvm 環境,Node.js 開發者必學(Windows、Mac 均適用) | 卡斯伯 Blog

接下來依序輸入以下指令 nvm install {{ 版本號 }},就會開始安裝 Node.js 的環境。

nvm install 16

安裝過程圖,安裝完成以後可以輸入 node 查看是否有正確安裝。
安裝 nvm 環境,Node.js 開發者必學(Windows、Mac 均適用) | 卡斯伯 Blog

以我們公司來說是以 Node.js 14 版為主,因此我另外安裝了 14 的版本在我的作業環境上。
安裝 nvm 環境,Node.js 開發者必學(Windows、Mac 均適用) | 卡斯伯 Blog

關掉命令列重啟以後,再次輸入 node -v 會使用其中一個做為預設版本,以我 Mac 來說預設為 16 版。

畢竟在公司是比較長的時間,因此可以使用 nvm alias default {{ 版本號 }} 將特定版本作為預設值(下次開啟為 14 版)。

nvm alias default 14

命令列重啟後使用 nvm list 查看本機的狀態,可以看到當前版本為 14.18.2,並且預設版本也為此版號。
安裝 nvm 環境,Node.js 開發者必學(Windows、Mac 均適用) | 卡斯伯 Blog

接下來想切換至特定版本,可以使用 nvm use {{ 版本號 }} 切換當前命令列所使用的 Node.js 版本。

安裝完成,接下來回到你的專案試試看吧~