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 the package 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:

  1. --manifest-path <PATH>: Path to Cargo.toml of the crate you want to run.
  2. -p, --package <SPEC>: Package you want to run.

In your case it's probably cargo run --package xray_cli