`cargo doc` 和 `cargo rustdoc` 的区别
Difference between `cargo doc` and `cargo rustdoc`
根据doc.rust-lang.org
build[s] a package's documentation, using specified custom flags
build[s] a package's documentation
两者有什么区别?据我了解 cargo rustdoc
就像 cargo doc
,但它允许更多的 lints——例如:
#![deny(rustdoc::broken_intra_doc_links)]
这是正确的吗?奇怪的是,cargo rustdoc
也会在 cargo doc
不会的某些情况下失败。例如
some/folder on some-branch [$!] via v1.60.0-nightly
❯ cargo doc
Finished dev [unoptimized + debuginfo] target(s) in 0.53s
some/folder on some-branch [$!] via v1.60.0-nightly
❯ cargo rustdoc
error: manifest path `some/folder/Cargo.toml` is a virtual manifest, but this command requires running against an actual package in this workspace
此外,cargo doc
不支持添加 -D
选项,而 cargo rustdoc
支持。
❯ cargo doc -- -D rustdoc::broken_intra_doc_links
error: Found argument '-D' which wasn't expected, or isn't valid in this context
USAGE:
cargo doc [OPTIONS]
For more information try --help
它们的关系就像 cargo build
和 cargo rustc
之间的关系:cargo doc
执行整个工作区的所有常规工作,包括依赖项(默认情况下)。 cargo rustdoc
允许您将标志直接传递给 rustdoc,并且仅适用于单个 crate。
Here is the execution code for cargo rustdoc
. Here 是 cargo doc
的代码。唯一的区别是 cargo rustdoc
总是指定不检查依赖关系,而 cargo doc
允许您选择(默认情况下它会,但您可以指定标志 --no-deps
),并且 cargo rustc
允许您使用 --
.
之后的标志将标志直接传递给 rustdoc
根据doc.rust-lang.org
build[s] a package's documentation, using specified custom flags
build[s] a package's documentation
两者有什么区别?据我了解 cargo rustdoc
就像 cargo doc
,但它允许更多的 lints——例如:
#![deny(rustdoc::broken_intra_doc_links)]
这是正确的吗?奇怪的是,cargo rustdoc
也会在 cargo doc
不会的某些情况下失败。例如
some/folder on some-branch [$!] via v1.60.0-nightly
❯ cargo doc
Finished dev [unoptimized + debuginfo] target(s) in 0.53s
some/folder on some-branch [$!] via v1.60.0-nightly
❯ cargo rustdoc
error: manifest path `some/folder/Cargo.toml` is a virtual manifest, but this command requires running against an actual package in this workspace
此外,cargo doc
不支持添加 -D
选项,而 cargo rustdoc
支持。
❯ cargo doc -- -D rustdoc::broken_intra_doc_links
error: Found argument '-D' which wasn't expected, or isn't valid in this context
USAGE:
cargo doc [OPTIONS]
For more information try --help
它们的关系就像 cargo build
和 cargo rustc
之间的关系:cargo doc
执行整个工作区的所有常规工作,包括依赖项(默认情况下)。 cargo rustdoc
允许您将标志直接传递给 rustdoc,并且仅适用于单个 crate。
Here is the execution code for cargo rustdoc
. Here 是 cargo doc
的代码。唯一的区别是 cargo rustdoc
总是指定不检查依赖关系,而 cargo doc
允许您选择(默认情况下它会,但您可以指定标志 --no-deps
),并且 cargo rustc
允许您使用 --
.