【问题标题】:Rust Amethyst Pong Tutorial Examples give "error: no example target named `pong_tutorial_01`"Rust Amethyst Pong 教程示例给出“错误:没有名为 `pong_tutorial_01` 的示例目标”
【发布时间】:2021-05-28 08:44:39
【问题描述】:

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

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

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

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

现在,在大型项目中提供的运行代码示例的业务对我来说是新的,但似乎是 Rust 的适当部分,并且行为在 Cargo.toml(s) 的外部项目和(我认为)内部的示例子项目。但是阅读了一些生锈的 Cargo 书籍 here,关于需要存在于 examples 子目录中的示例,并且有一些方法可以防止它们被自动发现(例如 autoexamples = false),除非它们是专门配置了另一种方式,一切似乎都井然有序。

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

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

【问题讨论】:

    标签: rust rust-cargo amethyst


    【解决方案1】:

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

    您应该可以改用-p/--package

    cargo run -p pong_tutorial_01 --features "vulkan"
    

    【讨论】:

      【解决方案2】:

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

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

      1. v0.15.3stable 分支,这是 crates.io 上的最新版本
      2. mainmaster 分支正在繁重的工作中,以最终发布下一版本的紫水晶

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-01
        • 2017-01-07
        相关资源
        最近更新 更多