Node.js安装与配置全攻略
本文覆盖常见操作系统(Windows、macOS、Linux)下的 Node.js 安装方法、环境管理、常用配置、常见问题排查,并配有示例命令、ASCII 图解以及详细说明,帮助你快速上手并正确配置 Node.js 环境。
目录
1. 概述与准备
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,广泛用于后端开发、构建工具、脚本等场景。正确安装与配置 Node.js,可以让你:
- 使用最新的 JavaScript 语法(ES6+)
- 通过 npm 安装大量开源包,快速构建项目
- 运行各种前/后端工具(如 webpack、gulp、eslint)
在安装之前,请先了解以下几点:
Node.js 版本分类
- LTS(长期支持):稳定且推荐用于生产环境,如当前 LTS 版本 18.x、20.x 等
- Current(最新特性):包含最新功能但可能不够稳定,用于测试最新特性
系统需求
- Windows 7+、macOS 10.15+、Ubuntu 16.04+、CentOS 7+ 等均可运行
- 需有管理员/sudo 权限以便修改系统 PATH 或安装系统级依赖
工具链准备
- Windows:可选 PowerShell、Git Bash 作为终端
- macOS/Linux:默认终端即可,若需要编译本地包(如需要原生编译)请提前安装 Xcode Command Line Tools(macOS)或
build-essential
(Ubuntu/Debian)/Development Tools
(CentOS)
下面将分别介绍在各平台下的安装方式及详细步骤。
2. 在 Windows 上安装 Node.js
2.1 下载安装包并安装
- 访问 Node.js 官方网站:https://nodejs.org
- 在首页选择 LTS 版本(推荐)或 Current 版本,点击 “Windows Installer (.msi)” 下载。
双击下载的
.msi
安装包,按照以下步骤进行安装:- 点击 “Next”
- 阅读并同意许可协议,然后点击 “Next”
- 选择安装目录(默认为
C:\Program Files\nodejs\
),点击 “Next” - 勾选 “Add to PATH”(将 Node.js 安装路径添加到系统环境变量),点击 “Next”
- 点击 “Install” 进行安装(需要管理员权限)
- 安装完成后点击 “Finish”
验证安装
打开 PowerShell 或 CMD,执行:node -v npm -v
若能正确输出版本号,说明安装成功。例如:
C:\>node -v v18.17.1 C:\>npm -v 9.6.7
图解:Windows 安装流程
┌────────────────────────────────┐ │ 下载 Node.js Windows Installer │ └───────────────┬────────────────┘ │ 双击启动安装向导 (.msi) │ ┌───────▼────────────────┐ │ 阅读许可协议 -> Next │ └───────┬────────────────┘ │ ┌───────▼────────────────┐ │ 选择安装目录 -> Next │ └───────┬────────────────┘ │ ┌───────▼────────────────┐ │ 勾选 Add to PATH -> Next│ └───────┬────────────────┘ │ ┌───────▼────────────────┐ │ Install -> Finish │ └────────────────────────┘ │ 打开终端验证 node -v / npm -v
2.2 使用 nvm-windows 管理多个版本
如果需要同时安装并在不同项目间切换多个 Node.js 版本,推荐使用 nvm-windows(Node Version Manager for Windows)。
下载 nvm-windows 安装包
- 访问项目主页:https://github.com/coreybutler/nvm-windows
- 在 Releases 中下载
nvm-setup.zip
,解压后运行nvm-setup.exe
进行安装
安装与使用 nvm
打开新的 PowerShell 或 CMD,执行以下命令示例:# 查看可用 Node.js 版本列表 nvm list available # 安装指定版本(以 16.20.0 为例) nvm install 16.20.0 # 安装另一个版本 nvm install 18.17.1 # 切换到某个版本 nvm use 16.20.0 # 查看当前使用的版本 node -v
切换成功后系统 PATH 会自动跟随更新。
图解:nvm-windows 切换流程
┌──────────────────────────────┐ │ nvm list available │ │ -> 显示所有可安装版本 │ └───────────────┬──────────────┘ │ nvm install X.Y.Z (安装) │ nvm use X.Y.Z (切换) │ node -v 输出版本号
2.3 验证安装与常见配置
检查 Node.js 与 npm 版本
node -v # Node.js 版本 npm -v # npm 版本
全局包安装位置与路径
npm config get prefix # 显示全局包前缀路径 npm root -g # 显示全局包安装目录
默认 Windows 上前缀路径为
C:\Users\<用户名>\AppData\Roaming\npm
,全局包可通过npm install -g <包名>
安装。创建示例项目
mkdir C:\projects\demo cd C:\projects\demo npm init -y
npm init -y
会生成默认的package.json
。安装本地包并测试
npm install lodash --save
在
index.js
中测试:// C:\projects\demo\index.js const _ = require('lodash'); console.log(_.join(['Node.js', '安装', '成功'], ' '));
运行:
node index.js
输出:
Node.js 安装 成功
3. 在 macOS 上安装 Node.js
3.1 通过官方安装包安装
- 访问 Node.js 官网(https://nodejs.org),下载 “macOS Installer (.pkg)”
- 双击
.pkg
安装包,按照提示完成安装(默认安装路径为/usr/local/bin/node
) 安装完成后,在终端执行:
node -v npm -v
输出版本号即表示安装成功。
图解:macOS 安装流程
┌────────────────────────────┐ │ 下载 Node.js macOS 安装包 │ └───────┬────────────────────┘ │ 双击安装 -> 按照提示 Next... │ 安装完成后打开终端验证 node -v / npm -v
3.2 使用 Homebrew 安装
如果你已经安装了 Homebrew(macOS 下常用包管理器),可通过以下命令安装 Node.js:
# 更新 Homebrew
brew update
# 安装 Node.js(默认安装最新 LTS 版本)
brew install node
# 或者安装指定版本(如 18.x)
brew install node@18
安装完成后,检查版本:
node -v
npm -v
若安装的是 node@18
而非默认 node
,需添加到 PATH:
# 假设使用 zsh
echo 'export PATH="/usr/local/opt/node@18/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
3.3 使用 nvm 管理多个版本
在 macOS 上,推荐使用 nvm
(Node Version Manager),可以轻松安装和切换多个 Node.js 版本。
安装 nvm
打开终端,执行:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
安装后,将以下内容添加到
~/.bashrc
或~/.zshrc
(根据使用的 shell 而定):export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
然后执行
source ~/.zshrc
或source ~/.bashrc
使配置生效。安装与切换 Node.js 版本
# 查看可用版本 nvm ls-remote # 安装 LTS 版本(示例:18) nvm install 18 # 安装最新版本 nvm install node # 切换版本 nvm use 18 # 验证 node -v npm -v
图解:nvm 工作流程
┌──────────────────────────────────┐ │ nvm ls-remote (列出远程版本) │ └───────────────┬──────────────────┘ │ nvm install X.Y.Z (安装) │ │ nvm use X.Y.Z (切换) │ │ node -v / npm -v (验证)
3.4 验证安装与常见配置
检查全局包路径
npm config get prefix npm root -g
macOS 默认前缀路径为
/usr/local
,全局包目录/usr/local/lib/node_modules
,可通过npm install -g <包>
安装。初始化示例项目
mkdir ~/projects/demo cd ~/projects/demo npm init -y npm install axios --save
在
index.js
中测试:// ~/projects/demo/index.js import axios from 'axios'; axios.get('https://api.github.com').then(res => { console.log('GitHub API 状态:', res.status); }).catch(err => console.error(err));
若要在 Node.js 中使用
import
,需要在package.json
中加入:{ "type": "module" }
然后执行:
node index.js
能正确输出状态码,则说明 ES Module 支持正常。
4. 在 Linux(Ubuntu/Debian/CentOS)上安装 Node.js
下面以 Ubuntu、Debian 和 CentOS 为例,介绍如何安装 Node.js。
4.1 通过包管理器(APT/YUM)安装
Ubuntu/Debian
更新系统包索引
sudo apt update
安装 Node.js(官方仓库版本)
sudo apt install -y nodejs npm
该方式安装的 Node.js 版本可能较旧,若需要安装最新 LTS 版本,可使用 NodeSource 提供的脚本。
使用 NodeSource 安装最新 LTS
# 添加 NodeSource 源(以 Node.js 18.x 为例) curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs
验证安装
node -v npm -v
例如输出:
v18.17.1 9.6.7
CentOS/RHEL
安装 EPEL 源(可选,若未安装)
sudo yum install -y epel-release
使用 NodeSource 安装最新 LTS
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - sudo yum install -y nodejs
验证安装
node -v npm -v
图解:Linux 安装流程
Ubuntu/Debian: ┌──────────────────────────────┐ │ sudo apt update │ │ curl … nodesource setup │ │ sudo apt install nodejs npm │ └──────────────────────────────┘ ↓ node -v / npm -v
CentOS/RHEL:
┌──────────────────────────────┐
│ sudo yum install epel… │
│ curl … nodesource setup │
│ sudo yum install nodejs │
└──────────────────────────────┘
↓
node -v / npm -v
4.2 使用 nvm 管理多个版本
在 Linux 上,也推荐使用 nvm 来管理 Node.js:
安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
添加到
~/.bashrc
/~/.zshrc
:export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
source ~/.bashrc
或source ~/.zshrc
使配置生效。安装与切换版本
nvm ls-remote # 查看可用版本 nvm install 18.17.1 # 安装指定版本 nvm use 18.17.1 # 切换版本 node -v npm -v
4.3 验证安装与常见配置
检查全局包路径
npm config get prefix # 默认 ~/.nvm/versions/node/<version> npm root -g
初始化示例项目并测试
mkdir ~/projects/demo cd ~/projects/demo npm init -y npm install express --save
创建
index.js
:// ~/projects/demo/index.js import express from 'express'; const app = express(); const port = process.env.PORT || 3000; app.get('/', (req, res) => { res.send('Hello Node.js on Linux!'); }); app.listen(port, () => { console.log(`Server listening at http://localhost:${port}`); });
如果使用 ES Module,需要在
package.json
中添加"type": "module"
。
运行:node index.js
在浏览器中访问
http://localhost:3000
,看到 “Hello Node.js on Linux!” 即表示运行正常。
5. 全平台:使用 nvm 管理 Node.js 版本
无论在 Windows(nvm-windows)、macOS 还是 Linux,都可以使用 nvm 来统一管理多个 Node.js 版本。下面集中介绍 nvm 的使用方法。
5.1 nvm 安装与基本命令
安装 nvm(在 macOS/Linux 上)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
安装后,添加以下到
~/.bashrc
/~/.zshrc
:export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # 载入 nvm
然后执行
source ~/.zshrc
或source ~/.bashrc
。Windows 下使用 nvm-windows
- 下载
nvm-setup.zip
并安装(参见第 2.2 节)。 - 安装完 nvm-windows 后,在 PowerShell/CMD 中使用命令一致。
- 下载
常用 nvm 命令
nvm ls-remote # 列出可安装的 Node.js 版本 nvm install <version> # 安装指定版本,如 nvm install 16.20.0 nvm ls # 列出本地已安装的版本 nvm use <version> # 切换到某个版本 nvm alias default <ver> # 设置默认版本 nvm uninstall <version> # 卸载某个版本
5.2 常用版本切换示例
# 安装最新 LTS 版本
nvm install --lts
# 安装最新 Current 版本
nvm install node
# 切换到最新 LTS
nvm use --lts
# 将默认版本设置为 LTS
nvm alias default lts/*
# 查看当前版本
node -v
图解:nvm 生命周期
用户输入 nvm install 18.17.1 │ nvm 从远程下载并解压安装 │ 安装目录:~/.nvm/versions/node/v18.17.1/ │ nvm use 18.17.1 设置 PATH 指向该目录 │ node -v 输出 v18.17.1
6. Node.js 环境变量与 PATH 配置
安装后,务必确认 Node.js 和 npm 可执行文件所在目录已正确加入系统 PATH,才能在终端使用 node
和 npm
命令。
6.1 Windows 下修改 PATH
系统环境变量设置
- 右键点击 “此电脑” → “属性” → “高级系统设置” → “环境变量”
- 在 “系统变量” 或 “用户变量” 中找到
Path
,点击 “编辑” - 确认包含类似
C:\Program Files\nodejs\
(安装目录) 和%AppData%\npm
(nvm-windows 的全局包目录) - 若未包含,则点击 “新建” 添加上述路径,确认保存
- 重新打开 PowerShell 或 CMD
执行node -v
/npm -v
验证。
图解:Windows PATH 示例
编辑环境变量 Path → 添加以下项目 ┌──────────────────────────┐ │ C:\Program Files\nodejs\ │ <- node.exe 所在目录 │ %AppData%\npm │ <- npm 全局包目录 └──────────────────────────┘
6.2 macOS/Linux 下修改 PATH
如果通过官方包或 Homebrew 安装,一般会自动将 /usr/local/bin
(node、npm 的软链接)加入 PATH。但如果使用 nvm,需要在 Shell 配置文件中添加 nvm 环境:
编辑
~/.bashrc
/~/.zshrc
/~/.profile
,添加:export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
保存并生效:
source ~/.bashrc # 或 source ~/.zshrc
检查 PATH:
echo $PATH which node which npm
确保输出类似:
/home/username/.nvm/versions/node/v18.17.1/bin: ... /home/username/.nvm/versions/node/v18.17.1/bin/node /home/username/.nvm/versions/node/v18.17.1/bin/npm
7. npm(Node 包管理器)基础与常用配置
安装完成后,npm(Node Package Manager)是 Node.js 最重要的配套工具,用于安装、管理项目依赖包。
7.1 初始化项目与 package.json
npm init
与npm init -y
npm init # 交互式创建 package.json npm init -y # 自动创建默认配置的 package.json
生成一个类似如下的
package.json
:{ "name": "demo", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }
添加自定义脚本
在scripts
字段中可定义常用命令,例如:{ "scripts": { "start": "node index.js", "dev": "nodemon index.js", "build": "babel src --out-dir lib" } }
7.2 安装全局/本地包示例
本地安装(项目依赖)
npm install express --save
等价于
npm i express
,会将express
添加到dependencies
。开发依赖(仅开发环境)
npm install jest --save-dev
会将
jest
添加到devDependencies
。全局安装
npm install -g @vue/cli
全局安装的包可以在终端直接执行(放在全局 PATH 下)。
查看已安装包
npm list # 列出本地依赖 npm list -g --depth=0 # 列出全局依赖(深度 0)
7.3 更换 npm 镜像源(如淘宝镜像)
在国内环境,使用官方 npm 源可能速度较慢,可将镜像源切换为国内源(如淘宝 CNPM):
临时切换(单次安装指定 registry):
npm install <package> --registry=https://registry.npmmirror.com
全局切换:
npm config set registry https://registry.npmmirror.com npm config get registry # 验证
若需要恢复官方源:
npm config set registry https://registry.npmjs.org
7.4 npm 常见配置文件 .npmrc
在用户主目录(~/.npmrc
)或项目根目录中添加 .npmrc
,可配置常用选项:
# ~/.npmrc 示例
registry=https://registry.npmmirror.com # 默认镜像源
save-exact=true # 安装时锁定精确版本(不使用 ^)
init-author-name=YourName # npm init 时默认作者姓名
init-license=MIT # npm init 时默认许可证
cache=~/.npm-cache # 指定缓存目录
图解:npm 源切换流程
npm config set registry https://registry.npmmirror.com ──────────────────────────────────────────▶ ~/.npmrc 写入 registry=https://… 后续 npm install 会使用该镜像源
8. Node.js 运行 Hello World 示例
下面综合前面内容,创建一个简单的 Hello World 应用,以验证 Node.js 环境是否配置正确。
创建项目目录并初始化
mkdir hello-node cd hello-node npm init -y
创建
index.js
// index.js console.log('Hello, Node.js 安装与配置全攻略!');
运行
node index.js
终端输出:
Hello, Node.js 安装与配置全攻略!
安装并使用第三方包
npm install colors --save
修改
index.js
:// index.js import colors from 'colors'; // 若使用 ES Module,需要在 package.json 中设置 "type": "module" console.log(colors.green('Hello, Node.js 安装与配置全攻略!'));
或使用 CommonJS:
// index.js const colors = require('colors'); console.log(colors.green('Hello, Node.js 安装与配置全攻略!'));
运行后,输出的文字会以绿色显示。
9. Node.js 配置调试与常见问题
9.1 版本冲突与 PATH 优先级
- 多版本冲突:若系统中同时存在官方包、Homebrew/apt/yum 安装、nvm 管理,可能出现
node -v
输出与预期不符。 排查方法:
which node # 查看 node 可执行文件路径 which npm # 查看 npm 可执行文件路径 echo $PATH # 查看 PATH 顺序
根据输出调整 Shell 配置文件(Linux/macOS)或系统环境变量(Windows),确保正确版本在前面。
9.2 权限问题(Linux/macOS)
- 全局包安装失败
如果执行npm install -g <package>
报错EACCES: permission denied
,说明全局前缀目录没有写权限。 解决方案:
改变全局前缀为用户目录:
mkdir ~/.npm-global npm config set prefix '~/.npm-global' echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc source ~/.bashrc
或使用
sudo
安装(不推荐长期使用):sudo npm install -g <package>
9.3 网络访问超时或 SSL 问题
- 报错示例:
npm ERR! code ECONNRESET
、npm ERR! CERT_HAS_EXPIRED
- 可能原因:网络或私有代理、SSL 证书问题导致无法访问官方 npm 源
解决方法:
- 切换到国内镜像源(参见 7.3 节)
在
.npmrc
中禁用 strict-ssl(不推荐,除非公司内部网络):strict-ssl=false
设置超时时间:
npm config set fetch-timeout 600000 npm config set fetch-retries 5
10. 总结与最佳实践
选择合适的安装方式
- 对于一次性安装,可直接使用官方安装包或系统包管理器;
- 若需在项目间切换不同 Node.js 版本,推荐使用 nvm(macOS/Linux)或 nvm-windows(Windows)。
保持 PATH 环境变量清晰
- 避免混合多种安装方式,容易导致可执行文件冲突;
- 使用
which node
/where node
(Windows)排查安装路径。
统一项目依赖管理
- 在每个项目目录中使用
npm init
创建独立的package.json
; - 将项目依赖(
dependencies
)与开发依赖(devDependencies
)区分明晰。
- 在每个项目目录中使用
镜像源与网络优化
- 在国内环境下,将 npm 源切换为
https://registry.npmmirror.com
或其他镜像,提高安装速度; 定期清理 npm 缓存:
npm cache clean --force
- 在国内环境下,将 npm 源切换为
版本锁定与更新策略
- 在
package.json
中使用精确版本("express": "4.18.2"
)或版本范围("express": "^4.18.2"
),根据项目需要决定; - 定期运行
npm outdated
检查可更新的包,保证安全性。
- 在
权限与安全
- 避免使用
sudo npm install
安装全局包,推荐自定义全局前缀到用户目录; - 定期更新 Node.js 和 npm,以获取最新安全修复。
- 避免使用
通过本文的指导,你应该能够在 Windows、macOS、Linux 等主流平台上,顺利安装、配置并验证 Node.js 环境。同时,掌握 nvm 管理多个版本、npm 镜像源切换、常见问题排查等关键技巧,为后续的 Node.js 开发、前后端构建、DevOps 自动化打下坚实基础。
评论已关闭