如何链接本地Rust库?(类似于npm链接)

bgu*_*uiz 16 git node.js rust rust-crates rust-cargo

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

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

官方生锈教程展示了如何使用raw进行此操作rustc,如何才能完成Cargo.toml

(货物文档向您展示了如何构建lib,但现在如何链接到没有远程存储库的库.)

Vla*_*eev 6

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

[dependencies.local_dep]
git = "file:/some/local/path"
Run Code Online (Sandbox Code Playgroud)

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

package-name = "/path/to/package"
Run Code Online (Sandbox Code Playgroud)

使用此配置时,其他一些包(让我们命名a)需要package-name,无论在a清单中声明的package-name位置是什么,package-name都将从此配置文件中指定的源树构建.当您需要在库中测试其他项目所依赖的更改时,这非常有用.

  • 我相信 `package-name` 现在是 `paths` 并且是一个数组,根据 http://doc.crates.io/config.html#configuration-keys 上的文档 (2认同)

abj*_*ror 4

你可以做:

[dependencies.local_dep]
path = "some/local/path"
Run Code Online (Sandbox Code Playgroud)

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