cargo、crates.io 本章內容 通過 release profile 來自定義構建 在https://crates.io/上發佈庫 通過 workspaces 組織大工程 從 https://crates.io/來安裝庫 使用自定義命令擴展 cargo 一、通過 release profi ...
cargo、crates.io
本章內容
- 通過 release profile 來自定義構建
- 在https://crates.io/上發佈庫
- 通過 workspaces 組織大工程
- 從 https://crates.io/來安裝庫
- 使用自定義命令擴展 cargo
一、通過 release profile 來自定義構建
release profile (發佈配置)
- release profile:
- 是預定義的
- 可自定義:可使用不同的配置,對代碼編譯擁有更多的控制
- 每個 profile 的配置都獨立於其它的 profile
- cargo 主要的兩個 profile:
- dev profile:適用於開發,cargo build
- release profile:適用於發佈,cargo build --release
自定義 profile
- 針對每個 profile,Cargo 都提供了預設的配置
- 如果想自定義 xxxx profile 的配置:
- 可以在 Cargo.toml 里添加 [profile.xxxx] 區域,在裡面覆蓋預設配置的子集
[package]
name = "closure"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
[profile.dev]
opt-level = 1
[profile.release]
opt-level = 3
執行
closure on master [?] is