[英]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_ENV
和DB_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.