我的货运项目中有两个包裹。 Cargo.toml
看起来像这样:
[workspace]
members = ["common", "server"]
当我运行cargo build --all
时,它将编译所有软件包。
我只想构建common
软件包。如果我做cd common
并做cargo build
,就可以正常工作。
但是在根目录中,如果我执行cargo build common
,则生成该错误:
error: Found argument 'common' which wasn't expected, or isn't valid in this context
USAGE:
cargo build [OPTIONS]
For more information try --help
是否可以构建特定的程序包?
答案 0 :(得分:2)
您可以将--package
或-p
标志用于cargo build
:
cargo build # build packages listed in the default-members key
cargo build --all # build all packages
cargo build --package foo # build the package "foo"
cargo build -p foo # ditto
答案 1 :(得分:0)
第一个答案不适用于:
error: package ID specification `foo` matched no packages
正确的做法是:
pkgid
:$ cd server
$ cargo pkgid
<块引用>
file:///dw/path/to/server:4.0.0-SNAPSHOT
build
$ cd -
cargo build -p file:///dw/path/to/server:4.0.0-SNAPSHOT