gpt4 book ai didi

node.js - 运行 Node 可执行文件后导出 NODE_PATH

转载 作者:太空宇宙 更新时间:2023-11-03 23:31:38 25 4
gpt4 key购买 nike

有没有办法在 Node 启动后设置 NODE_PATH 环境变量?

如果我这样做:

async.series([
function export_NODE_PATH(cb){
cp.exec('export NODE_PATH=$(npm root -g):$NODE_PATH',cb);
},...

它不会工作,但如果我在启动 Node 之前设置 NODE_PATH,它将按预期工作

export NODE_PATH=$(npm root -g):$NODE_PATH && node index --transpile test

有没有办法在node.js运行时设置环境变量,而无需在执行前在命令行中设置?就像在运行时设置 process.env.NODE_PATH 一样简单吗?

例如,这似乎有效:

    cp.exec('echo $(npm root -g)', function (err, stdout, stderr) {
if (err || String(stdout).match(/error/i) || String(stderr).match(/error/i)) {
cb(err || stdout || stderr); // my funky way of handling this
}
else {
process.env.NODE_PATH += stdout;
cb(null);
}
});

但我不知道这是否合理,而且经过进一步测试,它实际上似乎不起作用。

最佳答案

实现此目的的一种方法是创建一个 .env 文件并使用名为 dotenv 的 npm 库将 .env 文件变量自动加载到 process.env 中。步骤包括以下内容:

第 1 步: 在项目目录中创建一个 .env 文件 $ touch .env

第 2 步:将以下文本放入 .env 文件“NODE_ENV=yourvaluehere”(不带引号)

第 3 步: 安装 dotenv $ npm install dotenv --save

第 3 步: 在运行以启动服务器的 js 文件中,添加以下 require('dotenv').config();

Viola,您现在正在通过 env 文件在 Node 进程中设置环境变量。您的 process.env 将把所有键值对存储在您的 .env 文件中!

关于node.js - 运行 Node 可执行文件后导出 NODE_PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37368497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com