微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用火箭稳定发布 Rust

如何解决如何使用火箭稳定发布 Rust

我正在尝试使用 rustc 的稳定版本来编译火箭 Web 应用程序。 rocket 板条箱编译良好,但我想使用来自 rocket_contrib静态文件服务器。我的 Cargo.toml 文件如下所示:

[dependencies]
rocket = "0.5.0-rc.1"

[dependencies.rocket_dyn_templates]
version = "0.1.0-rc.1"
features = ["handlebars"]

[dependencies.rocket_contrib]
version = "0.4.10"
default-features = false
features = ["serve"]

当我尝试运行 cargo build 时出现以下错误

Error: Pear requires a 'dev' or 'nightly' version of rustc.
Installed version: 1.52.1 (2021-05-09)
Minimum required:  1.31.0-nightly (2018-10-05)

解决方法

从 Rocket 0.5 版本开始,您不应使用 rocket_contrib,因为此功能被拆分为已经在核心 crate 中或移至单独 crate 的功能。 this revision 的注释(另见 issue 1659)提供了更多详细信息:

这是在稳定的贡献功能完成升级之后 核心,完全删除 'rocket_contrib' 以支持两个新的 板条箱。这些板条箱的版本独立于 Rocket 的核心 库,允许升级依赖项而不考虑 核心库中的版本。

'rocket_dyn_templates' 替换了 contrib 'templates' 功能。尽管 主要是一对一的副本,它进行了以下更改:

  • 'tera_templates' 功能现在是 'tera'
  • “handlebars_templates”功能现在是“handlebars”
  • 如果 'tera' 和 'handlebars' 均未启用,则编译失败

'rocket_sync_db_pools' 替换了 contrib 'database' 功能。它 除了 database 属性在 crate 根目录中正确记录。

简而言之,您需要将代码从 rocket_contrib 迁移出去。确定发布 v0.5 后,可能会提供更好的指南,但在那之前,您可以在 core documentation and respective Cargo feature listrocket_contrib 中查找曾经可用的功能。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。