如何链接到当地的Rust库? (类似于npm链接)
当在节点中开发一个库时,如果你希望针对只存在于本地的库进行开发,那么在npm publish
之前,可以使用npm link /path/to/other/node_library
。
Rust对此有什么相同之处? 如何创build另一个链接到条库的foo可执行文件,而不是先将bar库推到git远程?
官方的防锈教程显示如何使用raw rustc
做到这rustc
,这怎么能在Cargo.toml
完成?
( 货物文档向您展示如何构build一个库,但现在如何链接到没有远程库的库。)
如果你的依赖在本地的git仓库中,也可以使用git file:
URL:
[dependencies.local_dep] git = "file:/some/local/path"
当你想使用你自己的一些包的本地副本也有一个非常有用的function。 你可以在~/.cargo/config
文件中指定这样的包的path:
package-name = "/path/to/package"
有了这个configuration,当其他软件包(让我们命名为a
)需要package-name
,无论在package-name
位置a
清单中声明了什么, package-name
将从此configuration文件中指定的源代码树构build。 当您需要在其他项目所依赖的库中testing您的更改时,这非常有用。
你可以做:
[dependencies.local_dep] path = "some/local/path"
以https://github.com/gfx-rs/gfx-rs/blob/master/Cargo.toml为例。
http://doc.crates.io/manifest.html#the-dependencies-section包含了一个用path
字段( geometry
箱子)做这个的例子:
[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" }