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

如何使用同一命令行在Unix和Windows上定义环境变量(set/export通用)

跨Windows/Unix系统设置环境变量的通用解决方案

针对npm工具链场景,最成熟的通用方案是使用cross-env工具,使用流程如下:

  • 安装cross-env为项目开发依赖
npm install cross-env --save-dev
  • 替换原有分系统命令为统一写法
    将原本分系统的两条命令直接替换为:
cross-env FOO=BAR npm run something

方案原理

cross-env会自动识别当前运行的操作系统:

  • Windows环境下自动转换为set语法适配cmd、PowerShell
  • Unix/Linux/macOS环境下自动转换为export语法适配各类shell
    无需手动调整命令,直接写入package.json的scripts字段即可在所有系统正常运行,支持npm、yarn、pnpm等所有主流前端包管理器。

无第三方依赖替代方案

如果不想引入额外的npm依赖,可借助Node.js本身的跨平台特性实现:

  1. 在项目根目录新建run-with-env.js脚本,内容如下:
// 自定义需要设置的环境变量
process.env.FOO = 'BAR'
// 执行后续命令
require('child_process').spawn('npm', ['run', 'something'], {
  stdio: 'inherit',
  shell: true
})
  1. 所有系统统一执行node run-with-env.js即可完成环境变量设置+命令执行的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 06:00:00