目录
一、系统级环境变量:让 Node.js 在全局可用
前提:安装 Node.js
场景 1:Windows 系统配置(最常用)
步骤 1:找到 Node.js 安装路径
步骤 2:打开环境变量配置界面
步骤 3:配置 PATH 变量
步骤 4:验证配置是否成功
场景 2:macOS/Linux 系统配置
步骤 1:找到 Node 安装路径
步骤 2:编辑环境变量配置文件
步骤 3:添加 Node 路径到 PATH
步骤 4:生效配置并验证
二、项目级环境变量:管理项目配置(提升开发效率核心)
工具:使用dotenv管理项目环境变量
步骤 1:安装dotenv
步骤 2:创建.env文件
步骤 3:在代码中加载.env
步骤 4:区分不同环境(开发 / 生产)
步骤 5:忽略.env文件(关键!)
三、常见问题与解决方法
总结
配置 Node.js 环境变量是前端 / 后端开发的基础操作,不仅能让你在任意目录下直接使用和
node命令,还能通过环境变量管理项目配置(如 API 密钥、数据库地址等),避免硬编码敏感信息。下面分系统级环境变量(让 Node 全局可用) 和项目级环境变量(管理项目配置) 两部分,手把手教你配置。
npm
一、系统级环境变量:让 Node.js 在全局可用
系统级环境变量的核心作用是:让操作系统在任意目录下都能识别、
node等命令,无需每次切换到 Node 安装目录。
npm
前提:安装 Node.js
首先确保已安装 Node.js(环境变量配置依赖安装路径):
官网下载对应系统版本:Node.js 官网(推荐 LTS 长期支持版)安装时注意:Windows 建议勾选 “Add to PATH”(自动配置环境变量),macOS/Linux 默认会配置,但可能需要手动调整。
场景 1:Windows 系统配置(最常用)
如果安装时没勾选 “Add to PATH”,或后期移动了 Node 安装目录,需手动配置:
步骤 1:找到 Node.js 安装路径
默认安装路径通常是:
32 位系统:64 位系统:
C:Program Files (x86)
odejs(可通过 “此电脑→右键→属性→高级系统设置→环境变量” 先检查是否已有该路径,没有则继续)
C:Program Files
odejs
步骤 2:打开环境变量配置界面
按下,输入
Win + R,回车打开 “系统属性”点击 “高级”→“环境变量”,进入配置界面(分 “用户变量” 和 “系统变量”,建议配置 “系统变量”,所有用户可用)
sysdm.cpl
步骤 3:配置 PATH 变量
在 “系统变量” 中找到变量,双击打开点击 “新建”,粘贴 Node.js 的安装路径(如
Path)点击 “确定” 保存(所有弹窗都要点击确定,否则配置不生效)
C:Program Files
odejs
步骤 4:验证配置是否成功
打开新的命令提示符(输入
Win + R)或 PowerShell输入以下命令,若能显示版本号,说明配置成功:
cmd
node -v # 显示Node版本,如v18.18.0
npm -v # 显示npm版本,如9.8.1
场景 2:macOS/Linux 系统配置
macOS 和 Linux 基于 Unix 系统,环境变量配置方式类似,默认安装后和
node已在
npm中,若不可用需手动添加:
PATH
步骤 1:找到 Node 安装路径
打开终端,输入以下命令查看安装路径:
which node # 输出如 /usr/local/bin/node 或 /usr/bin/node
步骤 2:编辑环境变量配置文件
根据使用的终端 shell(默认 bash,新版 macOS 可能是 zsh),编辑对应的配置文件:
bash 用户: 或
~/.bash_profilezsh 用户:
~/.bashrc(推荐用这个,macOS 默认)
~/.zshrc
终端输入命令打开文件(以 zsh 为例):
vi ~/.zshrc # 用vi编辑,或用code ~/.zshrc(若安装了VS Code)
步骤 3:添加 Node 路径到 PATH
在文件末尾添加一行(路径替换为输出的目录,通常是
which node):
/usr/local/bin
export PATH=$PATH:/usr/local/bin
步骤 4:生效配置并验证
终端输入命令让配置生效:
source ~/.zshrc # zsh用户
# 或 source ~/.bash_profile (bash用户)
验证:输入和
node -v,显示版本号即成功。
npm -v
二、项目级环境变量:管理项目配置(提升开发效率核心)
在实际开发中,项目的配置(如开发 / 生产环境的 API 地址、数据库密码、第三方接口密钥等)不应硬编码到代码中,而应通过环境变量管理,方便切换环境(开发 / 测试 / 生产)且避免敏感信息泄露。
工具:使用
dotenv管理项目环境变量
dotenv
是 Node.js 中最常用的环境变量管理库,能加载
dotenv文件中的变量到
.env中(
process.env是 Node.js 内置的环境变量对象)。
process.env
步骤 1:安装
dotenv
dotenv
在项目根目录打开终端,初始化项目(若未初始化)并安装:
npm init -y # 初始化package.json(已有则跳过)
npm install dotenv --save-dev # 开发依赖安装
步骤 2:创建
.env文件
.env
在项目根目录创建文件,写入需要的环境变量(格式:
.env,无引号):
键=值
# .env 文件(开发环境配置)
API_BASE_URL=http://localhost:3000/api # 开发环境API地址
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASS=123456 # 数据库密码(仅本地开发用)
JWT_SECRET=dev_secret_key # 开发环境密钥
步骤 3:在代码中加载
.env
.env
在项目入口文件(如、
app.js)的最顶部加载
index.js(必须在使用环境变量前加载):
dotenv
// index.js
require('dotenv').config(); // 加载.env文件(ES6模块用 import 'dotenv/config')
// 现在可以通过 process.env 访问变量
console.log('API地址:', process.env.API_BASE_URL); // 输出 http://localhost:3000/api
console.log('数据库端口:', process.env.DB_PORT); // 输出 3306
步骤 4:区分不同环境(开发 / 生产)
实际项目中通常需要多个环境配置(如开发、测试、生产),可创建多个文件:
.env
:开发环境
.env.development:生产环境
.env.production:测试环境
.env.test
加载时指定环境:
# 启动时通过 NODE_ENV 指定环境(终端命令)
NODE_ENV=development node index.js # 加载 .env.development
NODE_ENV=production node index.js # 加载 .env.production
代码中根据加载对应文件:
NODE_ENV
// 动态加载对应环境的.env文件
require('dotenv').config({
path: `.env.${process.env.NODE_ENV || 'development'}`
});
步骤 5:忽略
.env文件(关键!)
.env
文件包含敏感信息(如密码、密钥),绝对不能提交到 Git 仓库!在项目根目录的
.env文件中添加:
.gitignore
# .gitignore
.env
.env.development
.env.production
.env.test
# 只提交模板文件(可选,如 .env.example,不含真实值)
!.env.example
可创建作为模板,供其他开发者参考:
.env.example
# .env.example(提交到Git)
API_BASE_URL=
DB_HOST=
DB_PORT=
DB_USER=
DB_PASS= # 请填写你的数据库密码
JWT_SECRET= # 请填写密钥
三、常见问题与解决方法
命令行提示 “node 不是内部或外部命令”
原因:系统环境变量中没有 Node 安装路径解决:重新检查步骤 1 中的系统环境变量配置,确保路径正确,且重启命令行(配置后需重启终端生效)。
PATH
变量读取不到
.env
原因 1:调用位置太晚(在使用变量之后)→ 解决:放在代码最顶部。原因 2:
dotenv.config()文件路径错误(不在项目根目录)→ 解决:通过
.env参数指定路径,如
path。原因 3:变量名包含特殊字符(如空格、引号)→ 解决:
require('dotenv').config({ path: './config/.env' })中变量名用大写 + 下划线,值不加引号(如需空格直接写,如
.env)。
APP_NAME=My App
生产环境如何配置环境变量?
服务器(如 Linux):通过终端直接设置,或写入启动脚本(如)。云服务(如 Vercel、Netlify):在平台控制台的 “环境变量” 面板添加,无需上传
export DB_PASS=xxx && node index.js文件。
.env
总结
配置 Node.js 环境变量分两步:
系统级配置:让和
node全局可用,避免路径切换麻烦;项目级配置:用
npm管理
dotenv文件,安全隔离不同环境的配置,提升团队协作和部署效率。
.env
掌握这两点,能显著减少开发中的 “环境配置焦虑”,让精力集中在业务逻辑上~