使用〜/ .bashrc中的环境变量" npm start"?

时间:2016-08-09 16:20:55

标签: node.js bash npm

很抱歉,如果这是重复的话。我试图找到一个类似的问题,但无法解决。这是细分:

我需要使用一个秘密密钥和我正在构建的软件包,我不想发布它,因此我尝试将其设置为本地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环境中。有没有办法使这项工作?

1 个答案:

答案 0 :(得分:4)

这只是创建一个 shell变量,而不是环境变量:

MY_KEY="1111111111111111"

将该shell变量导出到环境中:

export MY_KEY