NVM完全指南:安裝、配置與最佳實踐

發布于 2025年5月7日 ? 閱讀時間:10分鐘
在這里插入圖片描述

💡 TL;DR: 本文詳細介紹了如何完整卸載舊版Node.js,安裝NVM,配置阿里云鏡像源,以及設置node_global與node_cache目錄,打造高效Node.js開發環境。

📋 目錄

  • 為什么需要NVM?
  • 第一步:徹底卸載舊版Node.js
  • 第二步:安裝NVM
  • 第三步:配置阿里云鏡像加速
  • 第四步:使用NVM安裝Node.js
  • 第五步:配置node_global和node_cache
  • NVM常用命令速查表
  • 常見問題與解決方案
  • 總結

為什么需要NVM?

作為開發者,你是否曾遇到這些問題?

  • 不同項目需要不同的Node.js版本
  • 新版本Node.js發布后,升級可能導致現有項目出錯
  • 需要測試代碼在多個Node.js版本上的兼容性

NVM (Node Version Manager) 正是為解決這些問題而生的工具。它允許你在同一臺電腦上安裝和切換多個Node.js版本,大大提高了開發效率和環境靈活性。

現在,讓我們開始完整的安裝和配置過程。

第一步:徹底卸載舊版Node.js

在安裝NVM之前,你需要徹底卸載系統中已有的Node.js,以避免潛在沖突。

Windows系統

  1. 通過控制面板卸載
    • 打開控制面板 > 程序 > 程序和功能
    • 找到Node.js,右鍵選擇"卸載"
    • 按照卸載向導完成操作

我這里是沒有node,如果有可以刪除

在這里插入圖片描述

  1. 清理殘留文件
    到指定目錄刪除對應的文件

    # 刪除以下目錄(如存在)
    C:\Program Files\nodejs
    C:\Program Files (x86)\nodejs
    C:\Users\{用戶名}\AppData\Roaming\npm
    C:\Users\{用戶名}\AppData\Roaming\npm-cache
    

    最后刪除完事后打開dos 窗口輸入where node,如果有則刪除
    在這里插入圖片描述

  2. 清理環境變量

    • 右鍵點擊"此電腦" > 屬性 > 高級系統設置 > 環境變量
    • 刪除用戶變量和系統變量中的NODE_PATH(如果存在)
    • 在系統變量的Path中刪除所有指向nodejs的路徑條目

Mac系統

# 使用Homebrew卸載
brew uninstall node# 清理殘留文件
rm -rf ~/.npm ~/.node-gyp

Linux系統

# Debian/Ubuntu系統
sudo apt remove nodejs npm
sudo apt purge nodejs npm
sudo apt autoremove# CentOS/RHEL系統
sudo yum remove nodejs npm
sudo yum autoremove# 手動清理(適用于所有Linux發行版)
sudo rm -rf /usr/local/bin/node
sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/lib/node_modules

第二步:安裝NVM

Windows系統

  1. 訪問nvm-windows官方發布頁下載最新版的nvm-setup.zip,或者點擊CSDN鏈接下載

  2. 解壓并運行安裝程序

  3. 安裝步驟中需要選擇:

    • NVM安裝路徑(默認為C:\Users\{用戶名}\AppData\Roaming\nvm,可自定義修改)
      在這里插入圖片描述

    • Node.js符號鏈接路徑(默認為C:\Program Files\nodejs,建議是放在對應的nvm后面)
      在這里插入圖片描述

  4. 完成安裝后,打開dos命令提示符或PowerShell測試安裝是否完成

正常按照上面的安裝流程是會把環境變量自己安裝上去的

Mac/Linux系統

  1. 使用curl安裝

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

    使用wget安裝

    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
    
  2. 配置環境變量

    安裝腳本會自動嘗試添加下面的代碼到正確的配置文件(~/.bash_profile, ~/.zshrc, /.profile或/.bashrc)。如果沒有,請手動添加:

    export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # 加載nvm
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # 加載bash補全
    
  3. 使配置生效

    source ~/.bashrc  # 或您使用的配置文件
    
  4. 驗證安裝

    nvm --version
    

    如果顯示版本號,則安裝成功。

第三步:配置阿里云鏡像加速

國內用戶在使用NVM安裝Node.js時可能會遇到下載速度慢的問題。配置阿里云鏡像源可以大幅提升下載速度。

Windows系統

在這里插入圖片描述

  1. 在NVM安裝目錄找到settings.txt文件(默認在C:\Users\{用戶名}\AppData\Roaming\nvm目錄下,我這里是安裝在了D盤)
  2. 編輯此文件,添加以下內容:
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

Mac/Linux系統

  1. 配置npm鏡像

    echo "registry=https://registry.npmmirror.com/" > ~/.npmrc
    
  2. 配置NVM鏡像

    ~/.bashrc~/.zshrc文件中添加:

    export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
    export NVM_NPM_MIRROR=https://npmmirror.com/mirrors/npm
    
  3. 使配置生效

    source ~/.bashrc  # 或source ~/.zshrc
    

第四步:使用NVM安裝Node.js

現在NVM已安裝完成,讓我們安裝并管理Node.js版本。

查看可用的Node.js版本

nvm ls-remote  # Mac/Linux
nvm list available  # Windows

在這里插入圖片描述

安裝最新的LTS(長期支持)版本

nvm install --lts

查看當前已經安裝的node

nvm ls

在這里插入圖片描述

安裝特定版本

nvm install 16.20.0  # 安裝Node.js 16.20.0版本

設置默認使用的版本

nvm alias default 16.20.0  # 將16.20.0設為默認版本

切換Node.js版本

nvm use 14.21.3  # 切換到14.21.3版本

在這里插入圖片描述

第五步:配置node_global和node_cache

為了更好地管理全局安裝的npm包和緩存,我們應該自定義這些目錄。

Windows系統

  1. 創建自定義目錄

    mkdir "C:\Dev\node_global"
    mkdir "C:\Dev\node_cache"
    
  2. 配置npm使用這些目錄
    這個目錄可以自定義,但是后面的node_globalnode_cache最好統一

     npm config set prefix "D:\environment\nvm\node_global" 
    

    執行完上面的就執行下面的

     npm config set cache "D:\environment\nvm\node_cache"
    

    上面的D:\environment\nvm可替換,我是為了方便nvm的管理,所以和nvm相關的都設置在了一塊
    在這里插入圖片描述

Mac/Linux系統

  1. 創建自定義目錄

    mkdir -p ~/node_global
    mkdir -p ~/node_cache
    
  2. 配置npm使用這些目錄

    npm config set prefix ~/node_global
    npm config set cache ~/node_cache
    
  3. 更新環境變量
    ~/.bashrc~/.zshrc中添加:

    export PATH="$HOME/node_global/bin:$PATH"
    export NODE_PATH="$HOME/node_global/lib/node_modules"
    
  4. 使配置生效

    source ~/.bashrc  # 或source ~/.zshrc
    

驗證配置

# 驗證npm全局配置
npm config get prefix  # 應顯示設置的node_global路徑
npm config get cache   # 應顯示設置的node_cache路徑![在這里插入圖片描述](https://i-blog.csdnimg.cn/direct/7ac1627492434c008a7b19e8d45904ce.png)# 測試全局安裝
npm install -g yarn
yarn --version  # 檢查是否安裝成功并可以正常使用

NVM常用命令速查表

命令描述
nvm ls列出已安裝的Node.js版本
nvm ls available查看可安裝的版本(Windows)
nvm ls-remote查看可安裝的版本(Mac/Linux)
nvm install <版本>安裝指定版本
nvm install --lts安裝最新LTS版本
nvm uninstall <版本>卸載指定版本
nvm use <版本>切換到指定版本
nvm current顯示當前使用的版本
nvm alias default <版本>設置默認版本
nvm run <版本> app.js使用指定版本運行腳本

常見問題與解決方案

1. nvm命令未找到

Windows:

  • 重新安裝NVM并確保系統環境變量設置正確
  • 檢查Path環境變量是否包含NVM安裝路徑

Mac/Linux:

  • 確保配置文件(/.bashrc或/.zshrc)中包含NVM初始化代碼
  • 執行source ~/.bashrc使配置生效
  • 檢查NVM安裝目錄權限:ls -la ~/.nvm

2. npm全局安裝的模塊無法使用

  • 檢查環境變量PathNODE_PATH是否正確設置
  • 確認全局模塊安裝在node_global目錄下
  • Windows用戶可能需要以管理員權限運行命令提示符

3. 下載Node.js速度慢

  • 確保已正確配置阿里云鏡像
  • Windows用戶檢查settings.txt文件的鏡像配置
  • Mac/Linux用戶檢查環境變量NVM_NODEJS_ORG_MIRRORNVM_NPM_MIRROR的設置

4. 切換版本后npm命令失效

每次安裝新版本Node.js后,需要重新安裝全局npm包:

nvm use <版本>
npm install -g npm  # 更新npm到最新版
# 安裝其他常用全局包
npm install -g yarn rimraf serve

總結

通過本文的指南,你現在應該已經:

  1. ? 徹底卸載了舊版Node.js
  2. ? 成功安裝了NVM
  3. ? 配置了阿里云鏡像源加速下載
  4. ? 學會了如何安裝和切換Node.js版本
  5. ? 自定義了node_global和node_cache目錄
  6. ? 掌握了常用的NVM命令

使用NVM管理Node.js版本將大大提高你的開發效率,特別是在需要處理多個項目且它們依賴不同Node.js版本的情況下。

你有關于NVM的其他問題或使用技巧嗎?歡迎在評論區留言分享!


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

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

相關文章

轉換算子和行動算子的區別

轉換算子和行動算子主要是在分布式計算框架&#xff08;如 Apache Spark&#xff09;里常用的概念&#xff0c;它們在功能、執行機制、返回結果等方面存在明顯區別&#xff0c;以下為你詳細介紹&#xff1a; 定義與功能 返回結果 如何在使用轉換算子和行動算子時避免出現內存溢…

Windows命令行軟件管理器:Chocolatey

文章目錄 Windows命令行軟件管理器&#xff1a;Chocolatey1.Chocolatey使用1.1 安裝1.2 常用命令1.3 使用流程 2.常用shell命令匯總 Windows命令行軟件管理器&#xff1a;Chocolatey Chocolatey 是一款強大的 Windows 命令行軟件管理器&#xff0c;目前在 GitHub 上已斬獲 10.…

MySQL 8.0 OCP(1Z0-908)英文題庫(11-20)

目錄 第11題題目分析正確答案 第12題題目分析正確答案 第13題題目分析正確答案 第14題題目分析正確答案 第15題題目分析正確答案 第16題題目分析正確答案 第17題題目分析正確答案&#xff1a; 第18題題目分析正確答案 第19題題目分析正確答案 第20題題目分析正確答案 第11題 W…

mac 使用 Docker 安裝向量數據庫Milvus獨立版的保姆級別教程

Milvus 特點&#xff1a;開源的云原生向量數據庫&#xff0c;支持多種索引類型和GPU加速&#xff0c;能夠在億級向量規模下實現低延遲高吞吐。具有靈活的部署選項和強大的社區支持。 適用場景&#xff1a;適合處理超大規模數據和高性能需求的應用&#xff0c;如圖像搜索、推薦…

一款獨立于游戲外的鍵盤源按鍵輔助工具他來了

一款獨立于游戲外的鍵盤源按鍵輔助工具 一&#xff01;不需要安裝&#xff0c;下載即用 二&#xff01;只要熟悉hekili體系 三&#xff01;略懂wa定制 四&#xff01;知道如何循環并且會自行模擬 五&#xff01;會simc最好 直接就上手了&#xff01; 我們的不是一鍵宏&…

python學生作業提交管理系統-在線作業提交系統

目錄 技術棧介紹具體實現截圖系統設計研究方法&#xff1a;設計步驟設計流程核心代碼部分展示研究方法詳細視頻演示試驗方案論文大綱源碼獲取/詳細視頻演示 技術棧介紹 Django-SpringBoot-php-Node.js-flask 本課題的研究方法和研究步驟基本合理&#xff0c;難度適中&#xf…

Spring Boot + Vue 實現在線視頻教育平臺

一、項目技術選型 前端技術&#xff1a; HTML CSS JavaScript Vue.js 前端框架 后端技術&#xff1a; Spring Boot 輕量級后端框架 MyBatis 持久層框架 數據庫&#xff1a; MySQL 5.x / 8.0 開發環境&#xff1a; IDE&#xff1a;Eclipse / IntelliJ IDEA JDK&…

引文索引數據庫在科研中的應用

如何利用引文索引數據庫高效檢索、分析研究論文&#xff0c;發現高水平論文&#xff0c;鎖定特定領域的經典文獻&#xff1f;如何跟蹤最新研究進展&#xff1f; 回放鏈接 image.png image.png image.png image.png image.png image.png image.png image.png image.png image.pn…

《供應鏈網絡攻擊的風險與防范》

中國古語有云&#xff1a;“千里之堤&#xff0c;潰于蟻穴。”供應鏈攻擊正是利用這種系統性弱點發起攻勢。近年來&#xff0c;隨著國內數字化轉型加速&#xff0c;供應鏈安全問題頻發。從某盟刪庫事件到某頭部物流企業數據泄露&#xff0c;從某國產工業軟件遭惡意代碼植入到某…

ETL介紹及kettle等工具學習

ETL介紹及kettle等工具學習 1. 什么是ETL&#xff1f; ETL&#xff08;Extract, Transform, Load&#xff09;是數據集成領域的核心流程&#xff0c;用于將數據從多個分散的源系統中抽取、清洗、轉換后加載到目標數據倉庫或數據湖中&#xff0c;以支持分析、報表和決策。其核…

圖形渲染+事件處理最終版

基于之前做的項目圖形移動處理-CSDN博客添加了相機&#xff0c;透視投影&#xff0c;鼠標控制圖形旋轉。雖然個人感覺這個項目用的是一個二維的三角形&#xff0c;給他加透視投影和相機意義不大&#xff0c;因為透視投影是近大遠小&#xff0c;我這個程序設置了放大縮小的限制&…

G口大帶寬服務器線路怎么選

G口大帶寬服務器線路選擇指南 ??一、線路類型與特點?? ??單線&#xff08;電信/聯通/移動&#xff09;?? ??優勢??&#xff1a;帶寬獨享、價格低、延遲穩定&#xff0c;適合單一運營商用戶集中場景。??劣勢??&#xff1a;跨運營商訪問延遲高&#xff08;如電信…

HTML10:iframe內聯框架

iframe內部框架 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>內聯框架學習</title> </head> <body> <!--iframe內聯框架 src:地址 width-height:高度寬度 --> <iframe…

基于 Spring Boot 瑞吉外賣系統開發(十一)

基于 Spring Boot 瑞吉外賣系統開發&#xff08;十一&#xff09; 菜品啟售和停售 “批量啟售”、“批量停售”、操作列的售賣狀態綁定單擊事件&#xff0c;觸發單擊事件時&#xff0c;最終攜帶需要修改售賣狀態的菜品id以post請求方式向“/dish/status/{params.status}”發送…

springboot war包tomcat中運行報錯,啟動過濾器異常,一個或多個篩選器啟動失敗。

錯誤信息&#xff1a; "level": "ERROR", "thread": "localhost-startStop-1", "class": "o.a.c.c.C.[.[localhost].[/Crmeb-admin]", …

Cursor —— AI編輯器 使用詳解

Cursor - The AI Code Editor 一、Cursor 是什么&#xff1f; Cursor 是一款優秀的AI代碼編輯器&#xff0c;它內置了 Deepseek-R1、GPT-4、Claude等 AI 模型。 簡單說&#xff0c;就是&#xff1a;Cursor VS Code 編輯器 AI 大模型 Cursor 功能特性&#xff08;代碼補全、…

在Excel圖表添加輔助線

前言&#xff1a;博主最近是有點忙&#xff0c;好吧&#xff0c;就是很忙&#xff0c;但我也不想水文章的&#xff0c;每一篇文章都是本人精心編輯&#xff0c;覺得對大家有用才發布的。而且同一個類型的文章&#xff0c;我基本都會寫在同一篇中方便大家集中獲取。本來這篇文章…

2025.5.8總結(中期審視)

今日記錄&#xff1a; 晚上&#xff0c;主管找我聊了關于中期績效審視的問題。 首先就是讓我匯報上半年的工作進展&#xff0c;匯報完后&#xff0c;感覺體現不出自己的工作量&#xff0c;這確實考驗個人的匯報能力。 匯報完工作后&#xff0c;主管開始給我提了一些建設性的…

Excel模版下載文件導入

工作中經常遇到Excel模板下載&#xff0c;然后填好后再導入的情況&#xff0c;簡單記錄下&#xff0c;方便下次使用 Excel模版下載&#xff08;返回Base64&#xff09; 模板文件存放位置 import java.util.Base64; import org.apache.commons.io.IOUtils; import org.sprin…

SpringBoot 訊飛星火AI WebFlux流式接口返回 異步返回 對接AI大模型 人工智能接口返回

介紹 用于構建基于 WebFlux 的響應式 Web 應用程序。集成了 Spring WebFlux 模塊&#xff0c;支持響應式編程模型&#xff0c;構建非阻塞、異步的 Web 應用。WebFlux 使用了非阻塞的異步模型&#xff0c;能夠更好地處理高并發請求。適合需要實時數據推送的應用場景。 WebClie…