rust Cargo构建-未找到依赖项文件

wmomyfyw  于 12个月前  发布在  Go
关注(0)|答案(1)|浏览(205)

我使用的文件是log4rs.yaml.env
当使用cargo build时,不再找到log4rs.yaml

log4rs::init_file("log4rs.yaml", Default::default()).unwrap();

    miscellaneous::check_env_variable();

字符串
当我运行二进制文件时,我有以下错误消息:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: No such file or directory (os error 2)', src/main.rs:27:58


我尝试使用一个构建脚本没有成功,不知道如何进行,或者如果它真的是这里的问题

lx0bsm1f

lx0bsm1f1#

既然你说这些文件都位于你的项目文件夹/目录的根目录下,你可能(最初)要找的是名为CARGO_MANIFEST_DIR的环境变量。
这个变量一旦被读取(std::env::var),就会返回一个到你的Cargo.toml所在的文件夹/目录的绝对路径。
最初的解决方案看起来像这样:

// ...
let cargo_path = env::var("CARGO_MANIFEST_DIR").unwrap();
let yaml_path = format!("{}/log4rs.yaml", cargo_path);
log4rs::init_file(yaml_path, Default::default()).unwrap();
// ...

字符串
最终的解决方案实际上可能需要你(以某种方式):
1.在开发环境外为log4rs.yaml设置默认路径,如:~/.config/my_app/log4rs.yaml~/.my_app/log4rs.yaml
1.添加支持为log4rs.yaml文件传递任意路径,以便我们可以从其他地方(包括开发文件夹内)获取它。

相关问题