You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下NODE_ENV设置异常:Next.js非标准值报错求助

解决Next.js "You are using a non-standard 'NODE_ENV' value in your environment" 错误

核心问题说明

你之前的操作存在两个关键错误:

  • Next.js 仅允许 NODE_ENV 取三个合法值:development、production、test,设置为 NEXT_PUBLIC_APP_ENV 完全不符合框架要求
  • NEXT_PUBLIC_APP_ENV 是自定义客户端环境变量的命名前缀(用于让变量暴露给浏览器端),和 NODE_ENV 是完全不同的概念,Next.js 不会将它作为 NODE_ENV 的默认值

解决步骤

1. 彻底清除错误的系统环境变量

Windows 下 setx 设置的是用户环境变量,变更不会立即生效到当前终端,建议手动删除更彻底:

  • 打开「控制面板 → 系统和安全 → 系统 → 高级系统设置 → 环境变量」
  • 在「用户变量」或「系统变量」中找到 NODE_ENV,点击删除
  • 保存后重启所有打开的终端窗口,避免旧环境变量残留

如果想用命令行清除,可在管理员终端运行:

setx NODE_ENV ""

2. 验证环境变量是否恢复正常

新开终端,运行以下命令确认 NODE_ENV 已被清除:

# Windows 命令行验证
echo %NODE_ENV%

# 通过 Node.js 验证
node -e "console.log(process.env.NODE_ENV)"

正常情况下输出应为空(Next.js 会自动根据运行命令设置对应值)。

3. 检查项目内的自定义配置

确保项目中没有手动硬设 NODE_ENV:

  • 检查项目根目录下的 .env、.env.local、.env.development、.env.production 等环境变量文件,若有 NODE_ENV=xxx 的行,直接删除
  • 打开 package.json,查看 scripts 字段,比如:
    "scripts": {
      "dev": "NODE_ENV=xxx next dev", // 删掉前面的 NODE_ENV=xxx 前缀
      "build": "next build"
    }
    
    确保 dev、build 命令前没有手动添加 NODE_ENV 配置。

4. 重新运行项目

现在直接执行对应命令即可,Next.js 会自动设置正确的 NODE_ENV:

  • 执行 npm run dev → 框架自动设为 development
  • 执行 npm run build 或 npm start → 框架自动设为 production

内容的提问来源于stack exchange,提问作者Victor Eke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 07:07:18