跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
JavaScriptNode.js大前端

Node.js 完整安装配置指南(含国内镜像配置)

综述由AI生成档详细介绍了 Node.js 的完整安装与配置流程。涵盖 Chocolatey、官网及国内镜像三种安装方式,以及 Node.js 和 npm 版本的验证方法。重点讲解了国内主流镜像源(淘宝、中科大、清华等)的配置与切换,包括批处理和 PowerShell 脚本工具。内容还涉及环境变量配置、npm 全局模块路径设置、缓存管理及 nrm 工具的使用。针对常见的 PowerShell 执行策略导致 npm 无法运行的问题,提供了多种解决方案,包括修改执行策略、使用 CMD 替代、调用 npm.cmd 及创建别名等。最后包含测速脚本、故障排除步骤及推荐的一键配置命令,帮助用户快速搭建稳定的开发环境。

樱花落尽发布于 2026/3/24更新于 2026/5/219 浏览

Node.js 完整安装配置指南

一、Node.js 安装

方法 1:使用 Chocolatey 安装(推荐)

# 安装最新 LTS 版本
choco install nodejs
# 或安装指定版本
choco install nodejs --version=20.11.0

方法 2:官网下载安装

  1. 访问 Node.js 官网
  2. 下载 LTS 版本(推荐)
  3. 运行安装程序,勾选 "Add to PATH" 选项

方法 3:使用国内镜像下载

  • 从淘宝镜像下载:访问 https://npmmirror.com/mirrors/node/
  • 选择对应版本下载

二、验证安装

# 检查 Node.js 版本
node --version
# 或 node -v
# 检查 npm 版本
npm --version
# 或 npm -v

三、国内镜像源配置

3.1 淘宝镜像(npmmirror)

# 设置淘宝镜像
npm config set registry https://registry.npmmirror.com
# 验证配置
npm config get registry

3.2 中科大镜像

npm config set registry https://npmreg.proxy.ustclug.org/
npm config get registry

3.3 清华大学镜像

npm config set registry https://mirrors.tuna.tsinghua.edu.cn/npm/
npm config get registry

3.4 华为云镜像

npm config set registry https://mirrors.huaweicloud.com/repository/npm/
npm config get registry

3.5 腾讯云镜像

npm config set registry https://mirrors.cloud.tencent.com/npm/
npm config get registry

四、镜像切换脚本

4.1 创建镜像切换批处理文件

创建文件 :

npm_registry_switch.bat
@echo off
echo 选择 npm 镜像源:
echo 1. 官方源 (默认)
echo 2. 淘宝镜像 (npmmirror)
echo 3. 中科大镜像
echo 4. 清华大学镜像
echo 5. 华为云镜像
echo 6. 腾讯云镜像
echo 7. 查看当前镜像源
echo.
set /p choice=请输入选择 (1-7): 
if "%choice%"=="1" (
    npm config set registry https://registry.npmjs.org/
    echo 已切换到官方源
) else if "%choice%"=="2" (
    npm config set registry https://registry.npmmirror.com
    echo 已切换到淘宝镜像
) else if "%choice%"=="3" (
    npm config set registry https://npmreg.proxy.ustclug.org/
    echo 已切换到中科大镜像
) else if "%choice%"=="4" (
    npm config set registry https://mirrors.tuna.tsinghua.edu.cn/npm/
    echo 已切换到清华大学镜像
) else if "%choice%"=="5" (
    npm config set registry https://mirrors.huaweicloud.com/repository/npm/
    echo 已切换到华为云镜像
) else if "%choice%"=="6" (
    npm config set registry https://mirrors.cloud.tencent.com/npm/
    echo 已切换到腾讯云镜像
) else if "%choice%"=="7" (
    echo 当前镜像源:
    npm config get registry
) else (
    echo 无效选择
)
echo.
echo 当前配置:
npm config get registry
pause

4.2 PowerShell 版本切换脚本

创建文件 Switch-NpmRegistry.ps1:

function Switch-NpmRegistry {
    param([Parameter(Mandatory=$false)][string]$Registry)
    $registries = @{
        "npm" = "https://registry.npmjs.org/"
        "taobao" = "https://registry.npmmirror.com"
        "ustc" = "https://npmreg.proxy.ustclug.org/"
        "tsinghua" = "https://mirrors.tuna.tsinghua.edu.cn/npm/"
        "huawei" = "https://mirrors.huaweicloud.com/repository/npm/"
        "tencent" = "https://mirrors.cloud.tencent.com/npm/"
    }
    if (-not $Registry) {
        Write-Host "可用的镜像源:" -ForegroundColor Green
        $registries.GetEnumerator() | ForEach-Object {
            Write-Host " $($_.Key): $($_.Value)" -ForegroundColor Yellow
        }
        Write-Host ""
        Write-Host "当前镜像源:$(npm config get registry)" -ForegroundColor Cyan
        return
    }
    if ($registries.ContainsKey($Registry.ToLower())) {
        $url = $registries[$Registry.ToLower()]
        npm config set registry $url
        Write-Host "已切换到 $Registry 镜像:$url" -ForegroundColor Green
    } else {
        Write-Host "未知的镜像源:$Registry" -ForegroundColor Red
        Write-Host "可用选项:$($registries.Keys -join', ')" -ForegroundColor Yellow
    }
}
# 使用示例:
# Switch-NpmRegistry taobao # 切换到淘宝镜像
# Switch-NpmRegistry # 显示所有可用镜像

五、环境变量配置

5.1 检查现有环境变量

# 检查 PATH 中是否包含 Node.js
echo $env:PATH | Select-String "node"
# 或在 CMD 中
echo %PATH% | findstr node

5.2 手动配置环境变量

如果 Node.js 没有自动添加到 PATH,需要手动添加:

  1. 通过系统设置配置:
    • 按 Win + R,输入 sysdm.cpl
    • 点击 "高级" 选项卡 → '环境变量'
    • 在 "系统变量" 中找到 "Path",点击 "编辑"
    • 添加 Node.js 安装路径(通常是 C:\Program Files\nodejs\)
  2. 通过 PowerShell 配置:
# 临时添加到当前会话
$env:PATH += ";C:\Program Files\nodejs\"
# 永久添加到用户环境变量
[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:\Program Files\nodejs\", "User")
# 永久添加到系统环境变量(需要管理员权限)
[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:\Program Files\nodejs\", "Machine")

5.3 配置 npm 全局模块路径

# 查看 npm 配置
npm config list
# 设置全局模块安装路径
npm config set prefix "C:\Users\%USERNAME%\AppData\Roaming\npm"
# 或者设置到自定义路径
npm config set prefix "D:\nodejs\npm-global"

六、npm 配置优化

6.1 完整的 npm 配置

# 设置镜像源(选择一个)
npm config set registry https://registry.npmmirror.com
# 设置缓存路径
npm config set cache "D:\nodejs\npm-cache"
# 设置全局模块路径
npm config set prefix "D:\nodejs\npm-global"
# 设置代理(如果需要)
# npm config set proxy http://proxy.company.com:8080
# npm config set https-proxy http://proxy.company.com:8080
# 设置严格 SSL(建议保持 true)
npm config set strict-ssl true
# 设置日志级别
npm config set loglevel warn
# 设置进度条显示
npm config set progress true

6.2 查看和重置配置

# 查看所有配置
npm config list
# 查看完整配置(包括默认值)
npm config list -l
# 重置到默认配置
npm config delete registry
npm config delete cache
npm config delete prefix
# 或直接编辑配置文件
npm config edit

七、常用镜像测速脚本

创建文件 npm_speed_test.js:

const { execSync } = require('child_process');
const registries = {
    'npm 官方源': 'https://registry.npmjs.org/',
    '淘宝镜像': 'https://registry.npmmirror.com',
    '中科大镜像': 'https://npmreg.proxy.ustclug.org/',
    '清华镜像': 'https://mirrors.tuna.tsinghua.edu.cn/npm/',
    '华为云镜像': 'https://mirrors.huaweicloud.com/repository/npm/',
    '腾讯云镜像': 'https://mirrors.cloud.tencent.com/npm/'
};

async function testSpeed(name, url) {
    try {
        const start = Date.now();
        execSync(`npm ping --registry ${url}`, { stdio: 'pipe', timeout: 10000 });
        const end = Date.now();
        return end - start;
    } catch (error) {
        return Infinity;
    }
}

async function testAllRegistries() {
    console.log('正在测试各镜像源速度...\n');
    const results = [];
    for (const [name, url] of Object.entries(registries)) {
        process.stdout.write(`测试 ${name}... `);
        const time = await testSpeed(name, url);
        if (time === Infinity) {
            console.log('❌ 超时或失败');
            results.push({ name, url, time: Infinity, status: 'failed' });
        } else {
            console.log(`✅ ${time}ms`);
            results.push({ name, url, time, status: 'success' });
        }
    }
    // 按速度排序
    results.sort((a, b) => a.time - b.time);
    console.log('\n=== 测试结果(按速度排序)===');
    results.forEach((result, index) => {
        if (result.status === 'success') {
            console.log(`${index + 1}. ${result.name}: ${result.time}ms`);
            console.log(`${result.url}`);
        }
    });
    console.log('\n推荐使用最快的镜像源。');
    if (results[0].status === 'success') {
        console.log(`\n执行以下命令切换到最快的镜像源:`);
        console.log(`npm config set registry ${results[0].url}`);
    }
}
testAllRegistries();

运行测试:

node npm_speed_test.js

八、使用 nrm 管理镜像源

8.1 安装 nrm

npm install -g nrm

8.2 使用 nrm

# 列出可用镜像源
nrm ls
# 测试所有镜像源速度
nrm test
# 切换到指定镜像源
nrm use taobao
# 添加自定义镜像源
nrm add custom https://your-registry.com/
# 删除镜像源
nrm del custom
# 查看当前镜像源
nrm current

九、故障排除

9.1 常见问题及解决方案

问题 1:npm 命令不被识别

# 解决方案:重新添加环境变量
refreshenv # 如果使用 Chocolatey
# 或重启命令行/PowerShell

问题 2:权限错误

# 解决方案:以管理员身份运行
# 或配置 npm 使用不同的目录
npm config set prefix "C:\Users\%USERNAME%\AppData\Roaming\npm"

问题 3:网络连接问题

# 解决方案:切换镜像源
npm config set registry https://registry.npmmirror.com
# 或配置代理
npm config set proxy http://your-proxy:port
npm config set https-proxy http://your-proxy:port

9.2 清理和重置

# 清理 npm 缓存
npm cache clean --force
# 清理 node_modules
rm -rf node_modules
rm package-lock.json
npm install
# 重置 npm 配置
npm config delete registry
npm config delete proxy
npm config delete https-proxy

十、验证安装和配置

# 最终验证命令
node --version
npm --version
npm config get registry
npm config get prefix
# 测试安装包
npm install -g npm@latest
# 创建测试项目
mkdir test-node
cd test-node
npm init -y
npm install lodash
node -e "console.log(require('lodash').VERSION)"

十一、推荐的完整配置命令

# 一键配置脚本(推荐配置)
npm config set registry https://registry.npmmirror.com
npm config set cache "C:\Users\%USERNAME%\.npm"
npm config set prefix "C:\Users\%USERNAME%\AppData\Roaming\npm"
npm config set progress true
npm config set loglevel warn
# 验证配置
npm config list
echo "Node.js 和 npm 配置完成!"

注意事项

  1. 优先推荐使用淘宝镜像(npmmirror),稳定性和速度都比较好
  2. 如果在企业环境,可能需要配置代理
  3. 定期运行 npm update -g 更新全局包
  4. 建议使用 Node.js LTS 版本以确保稳定性

十二、解决 PowerShell 执行策略问题

Node.js 安装成功,但在 PowerShell 中运行 npm 命令时可能出现执行策略错误:

npm : 无法加载文件 D:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本

方案 1:修改 PowerShell 执行策略(推荐)

  1. 以管理员身份打开 PowerShell
  2. 检查当前执行策略:Get-ExecutionPolicy
  3. 修改执行策略:
# 选项 A:仅允许本地脚本和已签名的远程脚本(推荐)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
# 选项 B:允许所有脚本(如果 A 不行)
Set-ExecutionPolicy Bypass -Scope CurrentUser
# 选项 C:系统级设置(需要管理员权限)
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine
  1. 验证修改:Get-ExecutionPolicy 和 npm --version

方案 2:使用 CMD(立即可用)

  1. 打开 CMD(按 Win+R,输入 cmd,回车)
  2. 测试 npm:
npm --version
npm config set registry https://registry.npmmirror.com
npm config get registry

方案 3:在 PowerShell 中使用 .cmd 文件

直接调用 npm.cmd 而不是 npm.ps1:

& "npm.cmd" --version
& "npm.cmd" config set registry https://registry.npmmirror.com
# 或者使用完整路径
& "C:\Program Files\nodejs\npm.cmd" --version

方案 4:创建 PowerShell 别名

在 PowerShell 配置文件中添加别名:

if (!(Test-Path -Path $PROFILE)) {
    New-Item -ItemType File -Path $PROFILE -Force
}
Add-Content -Path $PROFILE -Value 'function npm { & "npm.cmd" @args }'
Add-Content -Path $PROFILE -Value 'function npx { & "npx.cmd" @args }'
# 重新加载配置
.$PROFILE

快速验证脚本

创建测试脚本 test_npm.bat
@echo off
echo ========== Node.js 和 npm 测试 ==========
echo.
echo 1. 检查 Node.js 版本:
node --version
echo.
echo 2. 检查 npm 版本:
npm.cmd --version
echo.
echo 3. 设置淘宝镜像:
npm.cmd config set registry https://registry.npmmirror.com
echo.
echo 4. 验证镜像设置:
npm.cmd config get registry
echo.
echo 5. 测试 npm 安装(安装一个小包):
npm.cmd install -g npm@latest
echo.
echo ========== 测试完成 ==========
pause
PowerShell 一键修复脚本

保存为 Fix-NpmPowerShell.ps1:

Write-Host "正在修复 npm PowerShell 执行策略问题..." -ForegroundColor Green
$currentPolicy = Get-ExecutionPolicy
Write-Host "当前执行策略:$currentPolicy" -ForegroundColor Yellow
if ($currentPolicy -eq "Restricted") {
    try {
        Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
        Write-Host "✅ 执行策略已修改为 RemoteSigned" -ForegroundColor Green
    } catch {
        Write-Host "❌ 修改执行策略失败,请以管理员身份运行" -ForegroundColor Red
        Write-Host "手动执行:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser" -ForegroundColor Yellow
    }
}
if (Get-Command refreshenv -ErrorAction SilentlyContinue) {
    refreshenv
    Write-Host "✅ 环境变量已刷新" -ForegroundColor Green
}
Write-Host "`n 正在测试 npm..." -ForegroundColor Cyan
try {
    $nodeVersion = node --version
    Write-Host "Node.js 版本:$nodeVersion" -ForegroundColor Green
    $npmVersion = npm --version
    Write-Host "npm 版本:$npmVersion" -ForegroundColor Green
    Write-Host "✅ npm 工作正常!" -ForegroundColor Green
} catch {
    Write-Host "⚠️ npm 仍有问题,建议使用 CMD 或 npm.cmd" -ForegroundColor Yellow
    Write-Host "备用方案:使用 'npm.cmd' 而不是 'npm'" -ForegroundColor Yellow
}
Write-Host "`n 修复完成!" -ForegroundColor Green

总结

最简单的解决方案:

  1. 使用 CMD 而不是 PowerShell 进行 npm 操作
  2. 或者在 PowerShell 中使用 npm.cmd 而不是 npm
  3. 长期解决:修改 PowerShell 执行策略

目录

  1. Node.js 完整安装配置指南
  2. 一、Node.js 安装
  3. 方法 1:使用 Chocolatey 安装(推荐)
  4. 安装最新 LTS 版本
  5. 或安装指定版本
  6. 方法 2:官网下载安装
  7. 方法 3:使用国内镜像下载
  8. 二、验证安装
  9. 检查 Node.js 版本
  10. 或 node -v
  11. 检查 npm 版本
  12. 或 npm -v
  13. 三、国内镜像源配置
  14. 3.1 淘宝镜像(npmmirror)
  15. 设置淘宝镜像
  16. 验证配置
  17. 3.2 中科大镜像
  18. 3.3 清华大学镜像
  19. 3.4 华为云镜像
  20. 3.5 腾讯云镜像
  21. 四、镜像切换脚本
  22. 4.1 创建镜像切换批处理文件
  23. 4.2 PowerShell 版本切换脚本
  24. 使用示例:
  25. Switch-NpmRegistry taobao # 切换到淘宝镜像
  26. Switch-NpmRegistry # 显示所有可用镜像
  27. 五、环境变量配置
  28. 5.1 检查现有环境变量
  29. 检查 PATH 中是否包含 Node.js
  30. 或在 CMD 中
  31. 5.2 手动配置环境变量
  32. 临时添加到当前会话
  33. 永久添加到用户环境变量
  34. 永久添加到系统环境变量(需要管理员权限)
  35. 5.3 配置 npm 全局模块路径
  36. 查看 npm 配置
  37. 设置全局模块安装路径
  38. 或者设置到自定义路径
  39. 六、npm 配置优化
  40. 6.1 完整的 npm 配置
  41. 设置镜像源(选择一个)
  42. 设置缓存路径
  43. 设置全局模块路径
  44. 设置代理(如果需要)
  45. npm config set proxy http://proxy.company.com:8080
  46. npm config set https-proxy http://proxy.company.com:8080
  47. 设置严格 SSL(建议保持 true)
  48. 设置日志级别
  49. 设置进度条显示
  50. 6.2 查看和重置配置
  51. 查看所有配置
  52. 查看完整配置(包括默认值)
  53. 重置到默认配置
  54. 或直接编辑配置文件
  55. 七、常用镜像测速脚本
  56. 八、使用 nrm 管理镜像源
  57. 8.1 安装 nrm
  58. 8.2 使用 nrm
  59. 列出可用镜像源
  60. 测试所有镜像源速度
  61. 切换到指定镜像源
  62. 添加自定义镜像源
  63. 删除镜像源
  64. 查看当前镜像源
  65. 九、故障排除
  66. 9.1 常见问题及解决方案
  67. 解决方案:重新添加环境变量
  68. 或重启命令行/PowerShell
  69. 解决方案:以管理员身份运行
  70. 或配置 npm 使用不同的目录
  71. 解决方案:切换镜像源
  72. 或配置代理
  73. 9.2 清理和重置
  74. 清理 npm 缓存
  75. 清理 node_modules
  76. 重置 npm 配置
  77. 十、验证安装和配置
  78. 最终验证命令
  79. 测试安装包
  80. 创建测试项目
  81. 十一、推荐的完整配置命令
  82. 一键配置脚本(推荐配置)
  83. 验证配置
  84. 注意事项
  85. 十二、解决 PowerShell 执行策略问题
  86. 方案 1:修改 PowerShell 执行策略(推荐)
  87. 选项 A:仅允许本地脚本和已签名的远程脚本(推荐)
  88. 选项 B:允许所有脚本(如果 A 不行)
  89. 选项 C:系统级设置(需要管理员权限)
  90. 方案 2:使用 CMD(立即可用)
  91. 方案 3:在 PowerShell 中使用 .cmd 文件
  92. 或者使用完整路径
  93. 方案 4:创建 PowerShell 别名
  94. 重新加载配置
  95. 快速验证脚本
  96. 创建测试脚本 test_npm.bat
  97. PowerShell 一键修复脚本
  98. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • HashMap、ArrayMap 与 SparseArray 对比及选型指南
  • ZeroClaw:基于 Rust 的低内存 AI Agent 框架解析与实战
  • 小红书 AlignRec: 多模态推荐系统的对齐与训练框架
  • 昇腾 CANN 学习路径指南:Python、C++ 与算子开发选型
  • AI 产品架构设计:从 0 到 1 搭建信息架构与核心业务流程
  • Python ezdxf 库:DXF 文件处理入门与实战
  • Python 虚拟环境迁移难题:如何让 .venv 随项目文件夹随意搬家也不坏?
  • 使用 ngrok 仅穿透前端实现个人项目公网访问
  • 搜索旋转排序数组:二分查找 C++ 解法
  • Prompt 技术核心指南:从基础指令到高级推理方法
  • C/C++ 算法入门:一维动态规划基础实战
  • 基于云服务器部署 Clawdbot 实现 Telegram 机器人自动回复
  • 找回 Edge 边栏中消失的 Copilot 图标
  • AI 代码助手 Copilot 与 Codeium 的技术原理与实践
  • OpenClaw 本地 AI 智能体安装与使用指南:QQ 机器人接入、运维及故障排查
  • 基于 FPGA 的四线 SPI Flash 读写设计(Verilog)
  • AI 产品经理与大模型开发资源汇总
  • 国内环境下 Git 极速安装与镜像加速配置指南
  • OpenClaw 安全风险全解析:AI 助手的权限边界与防护策略
  • AIGC 联动 Photoshop 与 Spine 2D 实现 2D 角色骨骼动画拆件

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online