如果你的依赖项在本地 git 存储库中,也可以使用 git 的 file:
URL:
[dependencies.local_dep]
git = "file:/some/local/path"
如果您想使用自己本地的某个软件包,还有一个非常有用的功能。您可以在~/.cargo/config
文件中指定该软件包的路径:
package-name = "/path/to/package"
通过这个配置,当某个其他包(我们称之为a
)需要package-name
时,无论在a
清单中声明了什么关于package-name
的位置,package-name
都将从此配置文件中指定的源代码树构建。当您需要测试您对某个库的更改时,这很有用,而其他项目依赖于该库。
cargo update
时会出现错误:目前,Cargo仅支持特定软件包名称的单个源(Dependency {name:nickel,source_id:https://github.com/nickel-org/nickel.rs.git,req:*,transitive:true,only_match_name:false})。
- bguizpackage-name
现在更名为paths
,根据http://doc.crates.io/config.html#configuration-keys的文档,它是一个数组。 - Fraser您可以进行以下操作:
[dependencies.local_dep]
path = "some/local/path"
请查看https://github.com/gfx-rs/gfx-rs/blob/master/Cargo.toml,这是一个关于it技术的例子。
cargo update
时我会收到一个错误消息:目前,Cargo仅支持特定软件包名称的单个源(Dependency { name: nickel, source_id: https://github.com/nickel-org/nickel.rs.git, req: *, transitive: true, only_match_name: false })
。 - bguizhttp://doc.crates.io/manifest.html#the-dependencies-section 包含一个使用 path
字段(geometry
crate)的示例:
[package]
# ...
[dependencies]
hammer = { version = "0.5.0", git = "https://github.com/wycats/hammer.rs" }
color = { git = "https://github.com/bjz/color-rs" }
geometry = { path = "crates/geometry" }