Tim*_*ann 10 rust rust-cargo rust-2018
我有一个箱子foo_sys.在Rust 2015中我使用的extern crate foo_sys as foo是方便,但在Rust 2018 extern crate中不再需要了,我不想仅将其用于别名.下降时extern crate,我明白了
错误[E0463]:无法找到包装箱
foo
Tim*_*ann 16
这可以通过Rust 1.31中提供的重命名依赖 Cargo功能来实现.使用此功能,可以为依赖项提供package属性:
重命名依赖项功能允许您从源中导入具有不同名称的依赖项.这在以下几种情况下非常有用:
- 取决于来自不同注册表的具有相同名称的包装箱.
- 取决于箱子的多个版本.
- 避免需要
extern crate foo as barRust源码.
而不是写作
[dependencies]
foo_sys = "0.2"
Run Code Online (Sandbox Code Playgroud)
该package密钥可以被添加到依赖Cargo.toml:
[dependencies]
foo = { package = "foo_sys", version = "0.2" }
Run Code Online (Sandbox Code Playgroud)
惯用的解决方案是重命名箱子Cargo.toml.有关详细信息,请参阅Tim Diekmann的答案.
但是如果您Cargo.toml由于某种原因不想使用重命名,您仍然可以使用旧语法.它被软弃用,但未被删除.所以这仍然有效:
extern crate foo_sys as foo;
Run Code Online (Sandbox Code Playgroud)
(游乐场示例)
| 归档时间: |
|
| 查看次数: |
1907 次 |
| 最近记录: |