2

我刚刚克隆了 github 存储库 amethyst/amethyst,这是一个用 rust 编写的游戏引擎,以便遵循文档和教程。Amethyst文档中有关 pong 教程的文档告诉我们,您可以使用...运行示例

cargo run --example pong_tutorial_01 --features "vulkan"

...但是当我尝试这个时,我得到一个错误...

错误:没有名为“pong_tutorial_01”的示例目标

现在,在大型项目中提供的运行代码示例的业务对我来说是新的,但似乎是 Rust 的适当部分,并且行为在外部项目的Cargo.toml(s)和(I想想)里面的示例子项目。但是在阅读了这里的一些 rust Cargo 书籍后,关于需要存在于示例子目录中的示例,并且有一些方法可以防止它们被自动发现(例如autoexamples = false),除非它们以另一种方式特别配置,否则一切似乎都井井有条。

没有我学习如何配置货物的每一个细节,有没有聪明人知道为什么这不起作用?提前致谢。

ps 我在 Win 10 上运行。Rustup 更新是最新的。其他生锈的东西工作。事实上,如果我深入研究它们的目录并cargo run直接运行它们,这些示例就可以工作,所以我认为我没有语言/工具链配置问题。我只是对为什么那个特定的命令行不能像宣传的那样工作感兴趣。

4

2 回答 2

1

看起来这些示例最近从货物示例转换为工作区成员。它们在此 PR 中基本上被禁用,然后在此 PR中作为独立包修复。后者将依赖管理作为更改的原因。该文档可能尚未相应更新。

您应该能够使用-p/--package代替:

cargo run -p pong_tutorial_01 --features "vulkan"
于 2021-02-26T00:03:30.817 回答
1

对于其他偶然发现这篇文章的人,上述答案对于main紫水晶项目的分支是正确的。

但是,该项目目前有两个重要的分支:

  1. v0.15.3or分支,这是 crates.io 上的stable最新版本
  2. mainormaster分支,为了最终发布下一个版本的紫水晶而进行了繁重的工作

重要的是要注意 op 给出的链接是指向这stable本书的链接,它引用了v0.15.3. 可以通过检查正确的分支并按照书中所述运行命令来为该版本运行示例:

git checkout v0.15.3
cargo run --example pong_tutorial_01 --features "vulkan"

我建议v0.15.3现在就关注它,因为它有据可查。该main分支尚未更新大部分文档。

于 2021-08-15T15:26:57.293 回答