16

在 node 中开发库时,如果您希望针对仅存在于本地的库进行开发,在您之前npm publish,您可以使用npm link /path/to/other/node_library.

Rust 的等价物是什么?如何创建另一个链接到 bar 库的 foo 可执行文件,而不先将 bar 库推送到 git 远程?

官方的 rust 教程展示了如何使用 raw 来做到这一点rustc,如何做到这一点Cargo.toml

cargo 文档向您展示了如何构建一个库,但现在如何链接到一个没有远程存储库的库。)

4

3 回答 3

6

file:如果您的依赖项位于本地 git 存储库中,也可以使用 git URL:

[dependencies.local_dep]
git = "file:/some/local/path"

当您想使用自己的某个包的本地副本时,还有一个非常有用的功能。您可以在文件中指定此类包的路径~/.cargo/config

package-name = "/path/to/package"

使用此配置,当其他包(让我们将其命名a)需要package-name时,无论a清单中关于package-name位置声明的内容如何,package-name​​都将从此配置文件中指定的源代码树构建。当您需要在其他项目所依赖的库中测试您的更改时,这很有用。

于 2014-08-04T18:16:26.830 回答
2

你可以做:

[dependencies.local_dep]
path = "some/local/path"

查看https://github.com/gfx-rs/gfx-rs/blob/master/Cargo.toml以获取示例。

于 2014-08-04T17:04:52.683 回答
0

http://doc.crates.io/manifest.html#the-dependencies-sectionpath包含使用字段(板条箱)执行此操作的示例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" }
于 2016-01-08T04:35:07.343 回答