无法访问NPM环境variables
在我的package.json中,我已经设置了一个名为“foo”的configurationvariables为“bar”,并且我正在用NPM脚本调用该variables。
"config": { "foo": "bar" }, "scripts": { "test": "echo $npm_package_config_foo" }
运行npm run test
应该输出bar
,但是不行。
我怀疑我有一个普遍的问题访问环境variables。 例如,我可以使用NPM脚本中的uglifyjs,但不能使用命令行中的uglifyjs。
从命令行运行printenv
不会显示任何人所期望的任何NPMvariables。
安装程序:OSX 10.11.6,NPM 2.15.11,节点6.2.0。
您所尝试的是错误的:节点环境variables只能在节点进程中使用进程全局variables进行访问,而不是在系统范围内进行访问。 所以要达到你想要的,你必须做的是做出以下的改变。
的package.json
"config": { "foo": "bar" }, "scripts": { "test": "node ./app.js" }
app.js
console.log(process.env.npm_package_config_foo);
你可以在这里find更多的信息
我的解决scheme
-
使用
npm config set foo bar
-
从我的package.json中删除了configuration对象。
-
在NPM
scripts
属性$npm_package_config_foo
$npm_config_foo
更改$npm_package_config_foo
$npm_config_foo