繁体   English   中英

如何在 Windows 上单行设置多个环境变量?

[英]How to set multiple environment variables in a single line on Windows?

我正在研究 Node.js 项目并使用Jest作为测试框架。 这个项目碰巧在 Windows 上运行,而且我在命令行上设置了多个环境变量。

这是package.json中的相关行

  "scripts": {
     "test": "SET NODE_ENV=test & SET DB_URI=postgresql://<database stuff>> & jest -t Suite1 --watch --verbose false"
  },

如上所示,我在通过npm run test运行jest之前设置了NODE_ENVDB_URI环境变量。

我的问题是当 jest 运行时似乎没有设置DB_URI环境变量。 我从开玩笑中得到的错误很明显它找不到它。 我知道第一个NODE_ENV环境变量设置正确,但不确定第二个有什么问题,我是否以某种方式弄错了语法? 有没有人在 Windows 上做过类似我正在尝试的事情?

只需进行以下更改:

使用&&,还需要去掉“&&”前后的空格。

"scripts": {
     "test": "SET NODE_ENV=test&&SET DB_URI=postgresql://<database stuff>>&&jest -t Suite1 --watch --verbose false"
  },

我建议你添加cross-env 它应该能够为 Windows 和 POSIX 设置多个环境变量

package.json
{
  // ...
  "scripts": {
    "test": "cross-env NODE_ENV=test DB_URI=postgresql://<database stuff>> jest -t Suite1 --watch --verbose false"
  },
  "devDependencies": {
    "cross-env": "^6.0.0"
  }
}

如果您从 powershell 设置环境变量,您可以这样做:

cmd /K "set f=df & echo %f%"

output 将是“df”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM