很抱歉,如果这是重复的话。我试图找到一个类似的问题,但无法解决。这是细分:
我需要使用一个秘密密钥和我正在构建的软件包,我不想发布它,因此我尝试将其设置为本地bash环境变量。在我的.bashrc文件中,我有这个:
# Obviously this is not the REAL key, just an example
MY_KEY="1111111111111111"
然后在我的Gulpfile中,我有一个名为" dev"的任务。为简单起见,让我们说它看起来像这样:
gulp.task('dev', function () {
console.log(process.env.SECRET_KEY);
});
然后,为了将密钥放入环境中,我的package.json中包含以下内容:
"scripts": {
"start": "SECRET_KEY=$MY_KEY gulp dev"
}
所以问题是,当我运行命令npm start
时,我的gulp任务会记录undefined
以获取密钥。但是当我手动运行命令SECRET_KEY=$MY_KEY gulp dev
时,gulp任务会记录1111111111111111
。因此,由于某种原因,npm start
无法正确访问我的bash变量并将其传递到Node环境中。有没有办法使这项工作?
答案 0 :(得分:4)
这只是创建一个 shell变量,而不是环境变量:
MY_KEY="1111111111111111"
将该shell变量导出到环境中:
export MY_KEY