perl - 需要 rpm 依赖项,即使它们存在
问题描述
我正在尝试在 Centos7 VM 上安装自定义的 openresty。
sudo rpm -i openresty-1.19.3.1-1.el7.x86_64.rpm
但是我收到此错误:
perl(Test::Nginx::Socket::Lua) is needed by openresty-1.19.3.1-1.el7.x86_64
perl(Test::Nginx::Socket::Lua::Stream) is needed by openresty-1.19.3.1-1.el7.x86_64
但是我已经用 cpan 安装了这些依赖项,当我尝试再次安装它们时,我得到:
Test::Nginx is up to date (0.29).
Text::Nginx 包含 socket::lua 子类。
我不确定那里发生了什么。似乎 rpm 并没有发现这些依赖项的存在。我重新启动,刷新..等,但没有改变。
解决方案
检查我关于 python How to include pip packages in rpm build的非常相似的答案
RPM 检查您在 rpmdb 中的内容,而不是您在磁盘上安装的内容。RPM 无法真正理解所有这些生态系统(python、perl、ruby、rust、java、nojs ......)。
您要么需要打包依赖项(cpan2spec 是您的朋友),要么使用create-fake-rpm
.
推荐阅读
- ramda.js - RamdaJS groupBy 和转换对象
- java - db2jcc.jar 中的 java.lang.NumberFormatException
- mysql - 远程连接服务器失败
- spring-boot - 从子项目中提取重复的插件到根 gradle 配置
- javascript - 当在 div 中定义路由时,反应路由器“未找到页面”页面未显示
- iis - Https 到另一个站点
- php - 如何使用 PHP 比较 XML 中的元素并添加具有 3 个或更多可能结果的新节点?
- android - 如何为水平recyclerview添加标题
- ios - 将 pod 文件升级到新的 swift 版本时出错
- bash - 这个if语句问题有更好的解决方案吗?