Windows系統下 NVM 安裝 Node.js 及版本切換實戰指南

以下是 Windows 11 系統下使用 NVM 安裝 Node.js 并實現版本自由切換的詳細步驟:


一、安裝 NVM(Node Version Manager)

1. 卸載已有 Node.js

如果已安裝 Node.js,請先卸載:

  • 控制面板???程序與功能?? 找到?Node.js,右鍵選擇?卸載
  • 刪除殘留文件(如?C:\Program Files\nodejs?或?C:\Users\<用戶名>\AppData\Roaming\npm)。

2. 下載 NVM for Windows
  1. 訪問?nvm-windows GitHub 發布頁。
  2. 下載最新版本的?nvm-setup.exe(如?v1.1.12)。

3. 安裝 NVM
  1. 運行安裝程序
    • 雙擊下載的?nvm-setup.exe
    • 安裝向導中:
      • NVM 安裝路徑:建議選擇無空格的路徑(例如?D:\Program\nvm)。
      • Node.js 安裝路徑:建議選擇?D:\Program\nodejs(后續可修改)。
  2. 配置鏡像源(加速下載):
    • 安裝完成后,找到 NVM 的安裝目錄(如?D:\Program\nvm)。
    • 編輯?settings.txt?文件,添加以下兩行:
      node_mirror: https://npmmirror.com/mirrors/node/
      npm_mirror: https://npmmirror.com/mirrors/npm/

4. 驗證 NVM 安裝
  1. 以管理員身份運行 PowerShell 或 CMD
    • 按?Win + S,搜索?cmd?或?PowerShell,右鍵選擇?以管理員身份運行
  2. 輸入以下命令驗證:
    nvm --version
    • 若顯示版本號(如?1.1.12),表示安裝成功。

二、安裝和切換 Node.js 版本

1. 查看可安裝的 Node.js 版本
nvm list available
  • 會列出所有可安裝的版本(如?v14.21.3v16.20.2v18.20.4?等)。
2. 安裝指定版本

以安裝 v14.21.3 為例:

nvm install 14.21.3
  • 安裝過程中會自動下載并配置 Node.js 和 npm。
3. 切換 Node.js 版本
  1. 查看已安裝版本
    nvm list
  2. 切換版本
    nvm use 14.21.3
    ? ? ? 3.驗證版本:? ?????????????????????????????????????????????????????????????????????????????????????????????????
    node -v
    npm -v
    4. 設置默認版本

    若希望每次打開終端時自動使用某個版本:

    nvm alias default 14.21.3

    三、項目級版本管理

    1. 在項目目錄中指定版本
    1. 在項目根目錄創建?.nvmrc?文件:
      echo 14.21.3 > .nvmrc
    2. 進入項目目錄并自動切換版本:
      nvm use

    四、常用命令

    命令說明
    nvm install <version>安裝指定版本
    nvm use <version>切換到指定版本
    nvm list查看已安裝版本
    nvm list available查看可安裝版本
    nvm uninstall <version>卸載指定版本
    nvm alias default <version>設置默認版本
    npm config set registry https://registry.npmmirror.com設置 npm 鏡像源

    五、注意事項

    1. 權限問題
      • 必須以?管理員身份運行 PowerShell/CMD,否則可能報錯。
    2. 環境變量
      • NVM 會自動配置環境變量,無需手動設置。
    3. 全局模塊隔離
      • 每個 Node.js 版本的全局模塊(npm install -g)是獨立的,切換版本后需重新安裝。
    4. 鏡像源加速
      • 如果下載速度慢,確保?settings.txt?中的鏡像源已正確配置為國內源(如?npmmirror.com)。

    六、常見問題

    1. 安裝失敗?
    • 原因:網絡問題或鏡像源未配置。
    • 解決
      • 檢查?settings.txt?中的鏡像源是否正確。
      • 嘗試使用官方鏡像:https://nodejs.org/dist/
    2. NVM 命令未識別?
    • 原因:未以管理員身份運行終端。
    • 解決
      • 關閉當前終端,重新以?管理員身份運行 PowerShell/CMD
    3. 版本切換后未生效?
    • 原因:未正確切換或環境變量沖突。
    • 解決
      • 確保使用?nvm use <version>?命令切換。
      • 避免手動修改系統環境變量?PATH

    七、實操示例

    1. 安裝 Node.js v14.21.3 和 v16.20.2
      nvm install 14.21.3
      nvm install 16.20.2
    2. 切換版本
      nvm use 14.21.3  # 切換到 v14.21.3
      nvm use 16.20.2  # 切換到 v16.20.2
    3. 設置默認版本
      nvm alias default 14.21.3

    通過以上步驟,你可以在 Windows 11 上輕松管理多個 Node.js 版本,并實現版本自由切換!如果需要進一步幫助,請隨時提問。

    本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
    如若轉載,請注明出處:http://www.pswp.cn/pingmian/82530.shtml
    繁體地址,請注明出處:http://hk.pswp.cn/pingmian/82530.shtml
    英文地址,請注明出處:http://en.pswp.cn/pingmian/82530.shtml

    如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

    相關文章

    【leetcode】977. 有序數組的平方

    有序數組的平方 題目代碼1. 使用sorted2. 雙指針 題目 977. 有序數組的平方 給你一個按 非遞減順序 排序的整數數組 nums&#xff0c;返回 每個數字的平方 組成的新數組&#xff0c;要求也按 非遞減順序 排序。 示例 1&#xff1a; 輸入&#xff1a;nums [-4,-1,0,3,10] 輸…

    Obsidian 數據可視化深度實踐:用 DataviewJS 與 Charts 插件構建智能日報系統

    Obsidian 數據可視化深度實踐&#xff1a;用 DataviewJS 與 Charts 插件構建智能日報系統 一、核心架構解析 本系統基于 Obsidian 的 DataviewJS 和 Charts 插件&#xff0c;實現日報數據的自動采集、可視化分析及智能回溯功能&#xff08;系統架構原理見&#xff09;。其技術…

    深入解析Spring Boot與Kafka集成:構建高效消息驅動應用

    深入解析Spring Boot與Kafka集成&#xff1a;構建高效消息驅動應用 引言 在現代分布式系統中&#xff0c;消息隊列是實現異步通信和解耦的關鍵技術之一。Apache Kafka作為一款高性能、分布式的消息隊列系統&#xff0c;廣泛應用于大數據和實時數據處理場景。本文將詳細介紹如…

    Rust 學習筆記:關于生命周期的練習題

    Rust 學習筆記&#xff1a;關于生命周期的練習題 Rust 學習筆記&#xff1a;關于生命周期的練習題生命周期旨在防止哪種編程錯誤&#xff1f;以下代碼能否通過編譯&#xff1f;若能&#xff0c;輸出是&#xff1f;如果一個引用的生命周期是 static&#xff0c;這意味著什么&…

    word解決不同文檔同樣的字體段落設置下看起來行距不同的問題

    問題&#xff1a; 有時候我們照著模板修改文檔格式&#xff0c;明明字體和段落設置一模一樣&#xff0c;但是看起來行距不一樣。 解決辦法&#xff1a; 一般照著模板修改文檔內容&#xff0c;要注意以下幾點&#xff0c;如果以下幾點與模板設置相同時就可解決上述問題 1、紙…

    Jenkins實踐(9):配置“構建歷史的顯示名稱,加上包名等信息“

    Jenkins實踐(9):配置“構建歷史的顯示名稱,加上包名等信息“ 版本:Jenkins 4.262.2 需求:想要在構建歷史中展示,本次運行的是哪個版本或哪個包 操作步驟: 1、先安裝插件Build Name and Description Setter 2、Set Build Name 3、構建歷史處查看展示 插件特性說明 安裝依賴…

    matIo庫及.mat數據格式介紹

    一.概述 1..mat數據格式 &#xff08;1&#xff09;.mat 是 MATLAB 軟件的標準二進制數據存儲格式&#xff0c;用于保存變量、矩陣、數組、結構體等數據類型。其名稱源于 “MATLAB Data” 的縮寫&#xff0c;最初設計為高效存儲和加載 MATLAB 環境中的數據&#xff0c;后來逐…

    企業級調度器LVS (面試版)

    1. 什么是 LVS?有什么作?? LVS ( Linux Virtual Server )是?個基于 Linux 內核實現的?性能、可擴展和可靠的負載均衡。它將多個服務器組成?個?可?、?性能和?可靠的虛擬服務器集群,通過將客戶端的請求轉發到不同的后端服務器,實現負載均衡和?可?性。 2.什么是 …

    用python制作一個簡易的聊天室軟件

    文章目錄 效果圖python源碼使用說明效果圖 只需要一百多行的python代碼,就能制作一個簡易的聊天室軟件。效果如下: 操作說明: 1、先運行server.py啟動服務器; 2、每運行一次client.py可以創建一個聊天用戶(需要輸入用戶昵稱); 3、輸入對方的昵稱即可與其聊天,輸入“a…

    Android13 開機時間優化

    前言 在實際應用場景中&#xff0c;特定領域對 Android 系統的啟動時間有著極為嚴苛的要求&#xff0c;車載領域便是典型代表。想象一下&#xff0c;當車輛已經行駛出數公里之遙&#xff0c;車內的信息娛樂系統&#xff08;IVI&#xff09;卻仍未完成啟動&#xff0c;這無疑會…

    08SpringBoot高級--自動化配置

    目錄 Spring Boot Starter 依賴管理解釋 一、核心概念 二、工作原理 依賴傳遞&#xff1a; 自動配置&#xff1a; 版本管理&#xff1a; 三、核心流程 四、常用 Starter 示例 五、自定義 Starter 步驟 創建配置類&#xff1a; 配置屬性&#xff1a; 注冊自動配置&a…

    基于cornerstone3D的dicom影像瀏覽器 第二十四章 顯示方位、坐標系、vr輪廓線

    系列文章目錄 文章目錄 系列文章目錄前言一、工具欄修改二、切片窗口顯示方位文字1. 修改mprvr.js&#xff0c;添加函數getOrientationMarkers2. 修改DisplayerArea3D.vue 三、vr窗口顯示坐標系1. 修改mprvr.js 添加OrientationMarkerTool2. view3d.vue中響應工具欄事件3. 修改…

    【C/C++】線程局部存儲:原理與應用詳解

    文章目錄 1 基礎概念1.1 定義1.2 初始化規則1.3 全局TLS vs 局部靜態TLS 2 內存布局2.1 實現機制2.2 典型內存結構2.3 性能特點 3 使用場景/用途3.1 場景3.2 用途 4 注意事項5 對比其他技術6 示例代碼7 建議7.1 調試7.2 優化 8 學習資料9 總結 在 C 多線程編程中&#xff0c;線…

    【圖像大模型】IP-Adapter:圖像提示適配器的技術解析與實踐指南

    IP-Adapter&#xff1a;圖像提示適配器的技術解析與實踐指南 一、項目背景與技術價值1.1 圖像生成中的個性化控制需求1.2 IP-Adapter的核心貢獻 二、技術原理深度解析2.1 整體架構設計2.2 圖像特征編碼器2.3 訓練策略 三、項目部署與實戰指南3.1 環境配置3.2 模型下載3.3 基礎生…

    MySQL-5.7 修改密碼和連接訪問權限

    一、MySQL-5.7 修改密碼和連接權限設置 修改密碼語法 注意&#xff1a;rootlocalhost 和 root192.168.56.% 是兩個不同的用戶。在修改密碼時&#xff0c;兩個用戶的密碼是各自分別保存&#xff0c;如果兩個用戶密碼設置不一樣則登陸時注意登陸密碼 GRANT ALL PRIVILEGES ON …

    Linux基本指令篇 —— touch指令

    touch是Linux和Unix系統中一個非常基礎但實用的命令&#xff0c;主要用于操作文件的時間戳和創建空文件。下面我將詳細介紹這個命令的用法和功能。 目錄 一、基本功能 1. 創建空文件 2. 同時創建多個文件 3. 創建帶有空格的文件名&#xff08;需要使用引號&#xff09; 二、…

    mysql explain使用

    文章目錄 type 訪問類型性能高到低多注意type: index 出現的場景 key 實際使用的索引Extra 額外信息其他字段 通過 EXPLAIN 你可以知道&#xff1a;如是否使用索引、掃描多少行、是否需要排序或臨時表 EXPLAIN 三板斧&#xff08;type、key、Extra&#xff09; 例子&#xff1…

    JMeter-SSE響應數據自動化

    結構圖 背景&#xff1a; 需要寫一個JMeter腳本來進行自動化測試&#xff0c;主要是通過接口調用一些東西&#xff0c;同時要對響應的數據進行處理&#xff0c;包括不限于錯誤信息的輸出。 1.SSE(摘錄) SSE&#xff08;Server-Sent Events&#xff09;是一種基于HTTP協議、允許…

    <<運算符重載 和 c_str() 的區別和聯系

    例題 文章開始之前我們看下以下代碼&#xff0c;你能精準的說出正確的輸出結果并知道其原理嗎&#xff1f; void test() {string s1("hello world");cout << s1 << endl;//cout << s1.c_str() << endl;//const char* p1 "xxxx"…

    python web flask專題-Flask入門指南:從安裝到核心功能詳解

    Flask入門指南&#xff1a;從安裝到核心功能詳解 Flask作為Python最流行的輕量級Web框架之一&#xff0c;以其簡潔靈活的特性廣受開發者喜愛。本文將帶你從零開始學習Flask&#xff0c;涵蓋安裝配置、項目結構、應用實例、路由系統以及請求響應處理等核心知識點。 1. Flask安…