[英]Cannot access NPM environment variables
在我的package.json中,我将名为“ foo”的配置变量设置为“ bar”,并且正在使用NPM脚本调用该变量。
"config": {
"foo": "bar"
},
"scripts": {
"test": "echo $npm_package_config_foo"
}
运行npm run test
应该输出bar
,但是不输出。
我怀疑我在访问环境变量时遇到一般性问题。 例如,我可以从NPM脚本中使用uglifyjs,但不能从命令行中使用。
从命令行运行printenv
不会显示任何人们期望的NPM变量。
设置:OSX 10.11.6,NPM 2.15.11,节点6.2.0。
您尝试的是错误的:节点环境变量只能在节点进程中使用进程全局变量访问,而不能在系统范围内访问。 因此,要实现所需的功能,请进行以下更改。
的package.json
"config": {
"foo": "bar"
},
"scripts": {
"test": "node ./app.js"
}
app.js
console.log(process.env.npm_package_config_foo);
您可以在这里找到更多信息
我的解决方案:
设置foo
使用npm config set foo bar
从我的package.json中删除了配置对象。
在NPM scripts
属性$npm_package_config_foo
$npm_config_foo
更改$npm_package_config_foo
$npm_config_foo
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.