What does "manifest path is a virtual manifest, but this command requires running against an actual package" mean?
Your Cargo.toml
is a virtual manifest.
In workspace manifests, if the
package
table is present, the workspace root crate will be treated as a normal package, as well as a workspace. If thepackage
table is not present in a workspace manifest, it is called a virtual manifest.When working with virtual manifests, package-related cargo commands, like
cargo build
, won't be available anymore. But, most of such commands support the--all
option, will execute the command for all the non-virtual manifest in the workspace.
cargo run
does not work, because cargo doesn't know what to run. There are two options:
--manifest-path <PATH>
: Path toCargo.toml
of the crate you want to run.-p, --package <SPEC>
: Package you want to run.
In your case it's probably cargo run --package xray_cli