经pkg编译的Node.js应用执行时读取dotenv文件的路径问题
Node.js编译应用读取.env文件的路径说明
- 默认情况下,
dotenv库会从当前工作目录加载.env文件。你通过~/testing/myscript.sh在~/testing目录下运行编译后的二进制文件时,当前工作目录就是~/testing,所以应用会优先尝试读取~/testing/.env。 - 若你在代码中没有显式指定
.env的路径(比如未调用dotenv.config({ path: '/指定路径/.env' })),dotenv不会去二进制文件所在的/usr/local/bin目录查找,只会以运行时的工作目录为基准。 - 额外说明:如果
~/testing目录下不存在.env文件,dotenv不会自动去其他目录搜索,只会静默跳过环境变量加载(不会抛出错误)。
内容的提问来源于stack exchange,提问作者StuperUser
相关产品推荐
相关产品推荐

