使用 .env 文件和发布二进制文件

问题描述 投票:0回答:1

使用

cargo build --release
构建 Rust 二进制文件时,该二进制文件在
/target/release
内完美生成,但是我收到一条消息,指出它无法加载环境变量。

然后我将 .env 文件从项目复制到同一目录,但仍然收到错误。

代码内部如下所示:

use dotenv::dotenv;

async fn main() -> anyhow::Result<()> {
    dotenv().ok();

    let my_env_var= std::env::var("MY_ENV_VAR").expect("MY_ENV_VAR must be set.");
    ...
}

当然,它与

cargo run
完美配合。

如何运行生成的二进制文件并确保正确读取 .env 文件? (使用Mac mini)

注意:我使用

open {binary name}
打开二进制文件

macos rust release dotenv .env
1个回答
0
投票

正如我在评论中所说,我认为

open
扰乱了工作目录。我不知道为什么,也不知道它到底做了什么(一些 macOS 专家可以详细说明这一点),但这应该不重要。这是因为 Rust 会生成可执行的二进制文件。这意味着你不需要做

open {binary name}

你可以简单地做

{binary name}

在终端中,它应该可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.