windows 上的 Rust 编译引用了不存在的 d: 驱动器
Rust compilation on windows referring to nonexistent d: drive
我尝试在 windows 中编译一个 Rust 项目,Rust 给出了错误的错误“磁盘没有 space”。请告诉我如何克服这个问题。
我注意到:我的笔记本电脑上没有 D: 驱动器,但此路径显示 d:
它来自哪里?
invoke_main
at **d:\agent_work**\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
49: __scrt_common_main_seh
at d:\agent_work\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
Rust 版本:
Default host: x86_64-pc-windows-msvc
rustup home: C:\apps\rust
stable-x86_64-pc-windows-msvc (default)
rustc 1.44.1 (c7087fe00 2020-06-17)
c:\apps\meilisearch\MeiliSearch>cargo run --release
Finished release [optimized + debuginfo] target(s) in 2.13s
Running `target\release\meilisearch.exe`
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Heed(Io(Os { code: 112, kind: Other, message: "**There is not enough space on the dis**k." }))', meilisearch-http\src\data.rs:69:27
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Panic in Arbiter thread.
error: process didn't exit successfully: `target\release\meilisearch.exe` (exit code: 101)
c:\apps\meilisearch\MeiliSearch>set RUST_BACKTRACE=1
c:\apps\meilisearch\MeiliSearch>cargo run --release
Finished release [optimized + debuginfo] target(s) in 1.21s
Running `target\release\meilisearch.exe`
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Heed(Io(Os { code: 112, kind: Other, message: "There is not enough space on the disk." }))', meilisearch-http\src\data.rs:69:27
stack backtrace:
0: backtrace::backtrace::trace_unsynchronized
at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.46\src\backtrace\mod.rs:66
1: std::sys_common::backtrace::_print_fmt
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\sys_common\backtrace.rs:78
2: std::sys_common::backtrace::_print::{{impl}}::fmt
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\sys_common\backtrace.rs:59
3: core::fmt::write
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libcore\fmt\mod.rs:1069
4: std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\io\mod.rs:1504
5: std::sys_common::backtrace::_print
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\sys_common\backtrace.rs:62
6: std::sys_common::backtrace::print
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\sys_common\backtrace.rs:49
7: std::panicking::default_hook::{{closure}}
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:198
8: std::panicking::default_hook
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:218
9: std::panicking::rust_panic_with_hook
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:511
10: std::panicking::begin_panic_handler
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:419
11: core::panicking::panic_fmt
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libcore\panicking.rs:111
12: core::option::expect_none_failed
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libcore\option.rs:1268
13: core::result::Result<meilisearch_core::database::Database, meilisearch_core::error::Error>::unwrap
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\result.rs:1005
14: meilisearch_http::data::Data::new
at .\meilisearch-http\src\data.rs:69
15: meilisearch::main::{{closure}}
at .\meilisearch-http\src\main.rs:54
16: core::future::from_generator::{{impl}}::poll<generator-0>
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\future\mod.rs:66
17: tokio::task::local::{{impl}}::poll::{{closure}}::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:526
18: tokio::coop::with_budget::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:127
19: std::thread::local::LocalKey<core::cell::Cell<tokio::coop::Budget>>::try_with
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\thread\local.rs:263
20: std::thread::local::LocalKey<core::cell::Cell<tokio::coop::Budget>>::with
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\thread\local.rs:239
21: tokio::coop::with_budget
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:120
22: tokio::coop::budget
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:96
23: tokio::task::local::{{impl}}::poll::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:526
24: tokio::macros::scoped_tls::ScopedKey<tokio::task::local::Context>::set<tokio::task::local::Context,closure-0,core::task::poll::Poll<core::result::Result<(), main_error::MainError>>>
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\macros\scoped_tls.rs:63
25: tokio::task::local::LocalSet::with
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:440
26: tokio::task::local::{{impl}}::poll
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:516
27: tokio::task::local::{{impl}}::run_until::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:390
28: core::future::from_generator::{{impl}}::poll<generator-0>
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\future\mod.rs:66
29: tokio::runtime::basic_scheduler::enter::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\basic_scheduler.rs:213
30: tokio::macros::scoped_tls::ScopedKey<tokio::runtime::basic_scheduler::Context>::set<tokio::runtime::basic_scheduler::Context,closure-0,core::result::Result<(), main_error::MainError>>
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\macros\scoped_tls.rs:63
31: tokio::runtime::basic_scheduler::enter
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\basic_scheduler.rs:213
32: tokio::runtime::basic_scheduler::BasicScheduler<tokio::park::either::Either<tokio::time::driver::Driver<tokio::park::either::Either<tokio::io::driver::Driver, tokio::park::thread::ParkThread>>, tokio::park::either::Either<tokio::io::driver::Driver, tokio:
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\basic_scheduler.rs:123
33: tokio::runtime::{{impl}}::block_on::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\mod.rs:444
34: tokio::runtime::context::enter<closure-0,core::result::Result<(), main_error::MainError>>
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\context.rs:72
35: tokio::runtime::handle::Handle::enter<closure-0,core::result::Result<(), main_error::MainError>>
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\handle.rs:76
36: tokio::runtime::Runtime::block_on
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\mod.rs:441
37: tokio::task::local::LocalSet::block_on
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:351
38: actix_rt::runtime::Runtime::block_on
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\actix-rt-1.1.1\src\runtime.rs:89
39: actix_rt::builder::SystemRunner::block_on
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\actix-rt-1.1.1\src\builder.rs:187
40: meilisearch::main
at .\meilisearch-http\src\main.rs:16
41: std::rt::lang_start::{{closure}}<core::result::Result<(), main_error::MainError>>
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\rt.rs:67
42: std::rt::lang_start_internal::{{closure}}
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\rt.rs:52
43: std::panicking::try::do_call
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:331
44: std::panicking::try
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:274
45: std::panic::catch_unwind
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panic.rs:394
46: std::rt::lang_start_internal
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\rt.rs:51
47: main
48: invoke_main
at d:\agent\_work\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
49: __scrt_common_main_seh
at d:\agent\_work\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
50: BaseThreadInitThunk
51: RtlUserThreadStart
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Panic in Arbiter thread.
error: process didn't exit successfully: `target\release\meilisearch.exe` (exit code: 101)
c:\apps\meilisearch\MeiliSearch>
TLDR:
包含 d:
的路径与编译 Microsoft C 运行time 库的机器相关,与您的机器无关。它们与您遇到的错误无关。
您收到的错误是因为该程序试图在与您 运行 从中创建它的目录相同的卷中创建一个 200GB 的数据库,并且没有足够的 space.
您看到的错误来自 运行 编译程序,而不是编译程序。从输出中的这一行可以看出这一点:
Running `target\release\meilisearch.exe`
这一行指出了错误的位置:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Heed(Io(Os { code: 112, kind: Other, message: "There is not enough space on the disk." }))', meilisearch-http\src\data.rs:69:27
具体来说:meilisearch-http\src\data.rs:69:27
.
一些 google 侦探工作让我 Meilisearch where I found the offending line:
let db = Arc::new(Database::open_or_create(opt.db_path, db_opt).unwrap());
unwrap
函数调用正在触发恐慌。发生这种情况是因为函数 open_or_create
正在返回您最终看到的错误。
多一点搜索让我找到了这个项目的用户手册,其中描述了选项,特别是 Database Path 选项,它的默认值为 ./data
。
在同一页面上,我看到了两个关于最大数据库大小的条目 (Max UDB Size and Max MDB size)。它们包括注释:
On Windows it is a fixed size that will be allocated on launch.
Because this allocates 100Gb on MeiliSearch launch, a Windows user can
use this option to decrease the size of the database.
好像有两个这样的数据库,每个100GB,是启动时分配的。似乎建议是,如果您不想从一开始就分配 200GB,则应将这些设置为较低的值。
所以:错误是说 space 包含 ./data
的卷(相对于您 运行 安装程序的目录)不足以分配 200GB 的数据库.
但这 'd:' 是从哪里来的?好吧,当您 运行 设置了环境变量 RUST_BACKTRACE
的程序时,它会显示 作为错误。堆栈跟踪向您显示了导致崩溃的每个函数调用,包括一些属于 C 运行time 库的部分(即,甚至不是生锈的一部分)。特别是这些:
48: invoke_main
at d:\agent\_work\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
49: __scrt_common_main_seh
at d:\agent\_work\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
是 Microsoft C 运行时间库的一部分。
回溯包括作为堆栈跟踪一部分的函数的文件和行号信息。但是此信息在编译时插入到库中,大概是在某些 Microsoft 构建服务器上。
给出的路径与编译 C 运行time 库的机器相关,与您的机器无关。
我尝试在 windows 中编译一个 Rust 项目,Rust 给出了错误的错误“磁盘没有 space”。请告诉我如何克服这个问题。
我注意到:我的笔记本电脑上没有 D: 驱动器,但此路径显示 d: 它来自哪里?
invoke_main
at **d:\agent_work**\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
49: __scrt_common_main_seh
at d:\agent_work\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
Rust 版本:
Default host: x86_64-pc-windows-msvc
rustup home: C:\apps\rust
stable-x86_64-pc-windows-msvc (default)
rustc 1.44.1 (c7087fe00 2020-06-17)
c:\apps\meilisearch\MeiliSearch>cargo run --release
Finished release [optimized + debuginfo] target(s) in 2.13s
Running `target\release\meilisearch.exe`
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Heed(Io(Os { code: 112, kind: Other, message: "**There is not enough space on the dis**k." }))', meilisearch-http\src\data.rs:69:27
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Panic in Arbiter thread.
error: process didn't exit successfully: `target\release\meilisearch.exe` (exit code: 101)
c:\apps\meilisearch\MeiliSearch>set RUST_BACKTRACE=1
c:\apps\meilisearch\MeiliSearch>cargo run --release
Finished release [optimized + debuginfo] target(s) in 1.21s
Running `target\release\meilisearch.exe`
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Heed(Io(Os { code: 112, kind: Other, message: "There is not enough space on the disk." }))', meilisearch-http\src\data.rs:69:27
stack backtrace:
0: backtrace::backtrace::trace_unsynchronized
at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.46\src\backtrace\mod.rs:66
1: std::sys_common::backtrace::_print_fmt
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\sys_common\backtrace.rs:78
2: std::sys_common::backtrace::_print::{{impl}}::fmt
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\sys_common\backtrace.rs:59
3: core::fmt::write
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libcore\fmt\mod.rs:1069
4: std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\io\mod.rs:1504
5: std::sys_common::backtrace::_print
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\sys_common\backtrace.rs:62
6: std::sys_common::backtrace::print
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\sys_common\backtrace.rs:49
7: std::panicking::default_hook::{{closure}}
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:198
8: std::panicking::default_hook
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:218
9: std::panicking::rust_panic_with_hook
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:511
10: std::panicking::begin_panic_handler
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:419
11: core::panicking::panic_fmt
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libcore\panicking.rs:111
12: core::option::expect_none_failed
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libcore\option.rs:1268
13: core::result::Result<meilisearch_core::database::Database, meilisearch_core::error::Error>::unwrap
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\result.rs:1005
14: meilisearch_http::data::Data::new
at .\meilisearch-http\src\data.rs:69
15: meilisearch::main::{{closure}}
at .\meilisearch-http\src\main.rs:54
16: core::future::from_generator::{{impl}}::poll<generator-0>
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\future\mod.rs:66
17: tokio::task::local::{{impl}}::poll::{{closure}}::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:526
18: tokio::coop::with_budget::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:127
19: std::thread::local::LocalKey<core::cell::Cell<tokio::coop::Budget>>::try_with
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\thread\local.rs:263
20: std::thread::local::LocalKey<core::cell::Cell<tokio::coop::Budget>>::with
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\thread\local.rs:239
21: tokio::coop::with_budget
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:120
22: tokio::coop::budget
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:96
23: tokio::task::local::{{impl}}::poll::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:526
24: tokio::macros::scoped_tls::ScopedKey<tokio::task::local::Context>::set<tokio::task::local::Context,closure-0,core::task::poll::Poll<core::result::Result<(), main_error::MainError>>>
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\macros\scoped_tls.rs:63
25: tokio::task::local::LocalSet::with
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:440
26: tokio::task::local::{{impl}}::poll
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:516
27: tokio::task::local::{{impl}}::run_until::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:390
28: core::future::from_generator::{{impl}}::poll<generator-0>
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libcore\future\mod.rs:66
29: tokio::runtime::basic_scheduler::enter::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\basic_scheduler.rs:213
30: tokio::macros::scoped_tls::ScopedKey<tokio::runtime::basic_scheduler::Context>::set<tokio::runtime::basic_scheduler::Context,closure-0,core::result::Result<(), main_error::MainError>>
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\macros\scoped_tls.rs:63
31: tokio::runtime::basic_scheduler::enter
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\basic_scheduler.rs:213
32: tokio::runtime::basic_scheduler::BasicScheduler<tokio::park::either::Either<tokio::time::driver::Driver<tokio::park::either::Either<tokio::io::driver::Driver, tokio::park::thread::ParkThread>>, tokio::park::either::Either<tokio::io::driver::Driver, tokio:
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\basic_scheduler.rs:123
33: tokio::runtime::{{impl}}::block_on::{{closure}}
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\mod.rs:444
34: tokio::runtime::context::enter<closure-0,core::result::Result<(), main_error::MainError>>
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\context.rs:72
35: tokio::runtime::handle::Handle::enter<closure-0,core::result::Result<(), main_error::MainError>>
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\handle.rs:76
36: tokio::runtime::Runtime::block_on
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\mod.rs:441
37: tokio::task::local::LocalSet::block_on
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\task\local.rs:351
38: actix_rt::runtime::Runtime::block_on
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\actix-rt-1.1.1\src\runtime.rs:89
39: actix_rt::builder::SystemRunner::block_on
at C:\apps\rust_cargo\registry\src\github.com-1ecc6299db9ec823\actix-rt-1.1.1\src\builder.rs:187
40: meilisearch::main
at .\meilisearch-http\src\main.rs:16
41: std::rt::lang_start::{{closure}}<core::result::Result<(), main_error::MainError>>
at C:\apps\rust\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src\libstd\rt.rs:67
42: std::rt::lang_start_internal::{{closure}}
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\rt.rs:52
43: std::panicking::try::do_call
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:331
44: std::panicking::try
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panicking.rs:274
45: std::panic::catch_unwind
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\panic.rs:394
46: std::rt::lang_start_internal
at /rustc/c7087fe00d2ba919df1d813c040a5d47e43b0fe7\/src\libstd\rt.rs:51
47: main
48: invoke_main
at d:\agent\_work\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
49: __scrt_common_main_seh
at d:\agent\_work\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
50: BaseThreadInitThunk
51: RtlUserThreadStart
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Panic in Arbiter thread.
error: process didn't exit successfully: `target\release\meilisearch.exe` (exit code: 101)
c:\apps\meilisearch\MeiliSearch>
TLDR:
包含
d:
的路径与编译 Microsoft C 运行time 库的机器相关,与您的机器无关。它们与您遇到的错误无关。您收到的错误是因为该程序试图在与您 运行 从中创建它的目录相同的卷中创建一个 200GB 的数据库,并且没有足够的 space.
您看到的错误来自 运行 编译程序,而不是编译程序。从输出中的这一行可以看出这一点:
Running `target\release\meilisearch.exe`
这一行指出了错误的位置:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Heed(Io(Os { code: 112, kind: Other, message: "There is not enough space on the disk." }))', meilisearch-http\src\data.rs:69:27
具体来说:meilisearch-http\src\data.rs:69:27
.
一些 google 侦探工作让我 Meilisearch where I found the offending line:
let db = Arc::new(Database::open_or_create(opt.db_path, db_opt).unwrap());
unwrap
函数调用正在触发恐慌。发生这种情况是因为函数 open_or_create
正在返回您最终看到的错误。
多一点搜索让我找到了这个项目的用户手册,其中描述了选项,特别是 Database Path 选项,它的默认值为 ./data
。
在同一页面上,我看到了两个关于最大数据库大小的条目 (Max UDB Size and Max MDB size)。它们包括注释:
On Windows it is a fixed size that will be allocated on launch. Because this allocates 100Gb on MeiliSearch launch, a Windows user can use this option to decrease the size of the database.
好像有两个这样的数据库,每个100GB,是启动时分配的。似乎建议是,如果您不想从一开始就分配 200GB,则应将这些设置为较低的值。
所以:错误是说 space 包含 ./data
的卷(相对于您 运行 安装程序的目录)不足以分配 200GB 的数据库.
但这 'd:' 是从哪里来的?好吧,当您 运行 设置了环境变量 RUST_BACKTRACE
的程序时,它会显示
48: invoke_main
at d:\agent\_work\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
49: __scrt_common_main_seh
at d:\agent\_work\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
是 Microsoft C 运行时间库的一部分。
回溯包括作为堆栈跟踪一部分的函数的文件和行号信息。但是此信息在编译时插入到库中,大概是在某些 Microsoft 构建服务器上。
给出的路径与编译 C 运行time 库的机器相关,与您的机器无关。