rust - 如何使用 rpmbuild 打包 Rust 应用程序?
问题描述
我有一个示例 rust 应用程序,我想将其打包为 rpm 文件,但目前无法这样做,因为我总是收到此错误。
error: no matching package named `rand` found
location searched: registry `crates-io`
required by package `hello_rust_dependencies v0.1.0 (/home/jlee/rpmbuild/BUILD/hello-rust-dependencies)`
error: Bad exit status from /var/tmp/rpm-tmp.brtRMA (%build)
在这种情况下,货物似乎可以找到板条箱依赖项?但是我试过了cargo build
,cargo package
这些都很好,只有 rpmbuild 给出了这个错误,所以......我想知道我是否错过了我的规范文件中的某些内容,或者在我开始打包之前我的项目中是否还有其他内容?
更新
为了进一步解释我的目标,我现在尝试使用openSUSE 的 open-build-service,我什至设置了一个全新的 openSUSE 环境,这样我就可以完全复制他们指南中的步骤。但我还是失败了,它现在仍然可以找到板条箱“rand”......
临时解决方案(也许)
我遇到了这个货物扩展cargo-rpm,并最终成功构建了一个 .rpm 包。但是这个工具的内部工作是cargo build
先运行然后将二进制文件打包成 rpm 文件,这样做感觉不太对,因为它违反了@marbu 提到的 Rust 打包指南。并且知道 Fedora 和 OpenSUSE 都有自己的打包 Rust 应用程序的指南,我仍然相信它可以在不使用其他工具的情况下完成。
解决方案
推荐阅读
- javascript - 如何在js fetch中解析pdf
- firebase - Firestore 中每分钟读取多少文档是否过多?
- c# - 尝试使用 C# 和 Unity 实例化对象
- android - 没有检测到带有嵌套滚动视图和回收视图的视图组的 OnTouchListener
- android - tensorflowlite最低支持Android和iOS版本
- node.js - 我们正面临 Nodejs 响应时间问题
- python - 随机选择一个函数并在 Python 中使用适当的属性调用它
- android - 为什么“dumpsys 活动顶部”在其输出中列出“片段”,而我没有使用片段?
- javascript - 如何在更大的文本集中查找突出显示文本的字符索引
- kubernetes - Prometheus 适配器返回空的自定义指标