[指南] 免管理員權限 – 跨平台的 NVS 來管理多版本 Node.js + Git Bash + CMD

Node.js 的官網有提供安裝程式給 Windows 使用,不過若你沒有管理員權限的話(像是公司電腦),除了安裝 nvm 外,在 Node.js 官網上有提到 nvs 這跨平台、且不用系統管理員權限的 Node.js 版本管理套件。這邊筆記下 nvs 的使用方法,並與 Git Bash 和 CMD 整合使用。
nodejs logo


已知限制

  1. 在 Powershell 中,由於 .ps1 需要透過管理員權限才能啟用的緣故 ( get-executionpolicy 預設值為: Restricted ),所以無法使用
  2. 「切換版本、切換預設版本」的步驟 nvs link <version>; nvs use <version> ,一定要在 cmd 環境下來執行

步驟

1. 點選 nvs/releases 的頁面,下載 nvs-<版本號>.msi 來進行安裝
2. 安裝完成後,在 cmd 中輸入 nvs來選擇版本安裝

guide-nvs-switch-node-js-manager-without-admin-rights-windows-git-bash-cmd-13. 安裝完成後,你需要用 nvs link <版本號> 來有個預設的 Node.js 版本,但此時 cmd 和 Git Bash 兩邊的 PATH 並不同步,需在後續步驟調整。
4. 使用 nvs 時的 npm prefix 是目前 Node.js 版本的安裝路徑。換言之,在此情況下全域安裝的 npm module 會因為切換不同的 node.js 版本而失效。所以進行設定如下:

5. 承上,當你做完此步驟時,Git Bash 和 cmd 的 PATH 會個別缺少以下路徑

6. 手動在 git bash 和 cmd 中加入路徑

7. 重新開啟 cmd 和 git bash,甚至切換版本後的全域安裝套件,都可以正常使用。你可以用 which ( git bash ) 或是 where ( cmd ) 來確認
guide-nvs-switch-node-js-manager-without-admin-rights-windows-git-bash-cmd-2


參考資料

  1. nvs – Github
  2. PowerShell – 解決 “.ps1 檔案無法載入,因為這個系統上已停用指令碼執行。” 問題
  3. How to uninstall global package with npm?
  4. How to edit, clear, and delete environment variables in Windows
  5. [node]nvs使用的注意事项
  6. 科普文:使用 nvs 管理本地 Node.js 版本
按讚加入粉絲團

延伸閱讀