本文阅读量 次
私有仓库
1. 如何定义并使用自己的包仓库 (Registry)¶
有以下几种方式 * 通过 CARGO_HOME 的配置文件全局定义 * 通过环境变量定义 * 通过命令行参数定义???
1.1 通过配置文件定义¶
在 $CARGO_HOME/.cargo/config.toml
文件中的增加如下配置
[registries]
my-registry = { index = "https://my-intranet:8080/git/index" }
在需要使用的 Rust 工程的 my-project/Cargo.toml
中按照如下格式进行引用
# Sample Cargo.toml
[package]
name = "my-project"
version = "0.1.0"
[dependencies]
other-crate = { version = "1.0", registry = "my-registry" }
1.2 通过环境变量定义¶
CARGO_REGISTRIES_MY_REGISTRY_INDEX=https://my-intranet:8080/git/index
REGISTRY 的名字是直接如上包含到环境变量名字里吗?
1.3 通过命令行参数定义¶
cargo login --registry=my-registry
cargo publish --registry=my-registry
cargo login
登录自己的 registry 时的凭证可以记录在 $CARGO_HOME
目录的配置文件里,简化使用
如果自己的工程发布时也是发布到自己的 registry,则也可以在工程的配置文件中指定目标的 registry,从而避免每次都需要在命令行输入参数
[package]
# ...
publish = ["my-registry"]