Ruby 找出gem的二进制依赖关系
我想用我的Ruby应用程序和它的gems来构建rpm。由于一些宝石依赖于二进制文件,我想自动找到它们。例如,Ruby 找出gem的二进制依赖关系,ruby,rubygems,dependencies,rpm,rpmbuild,Ruby,Rubygems,Dependencies,Rpm,Rpmbuild,我想用我的Ruby应用程序和它的gems来构建rpm。由于一些宝石依赖于二进制文件,我想自动找到它们。例如,nokogirigem依赖于libxml。我可以自动获取Gemfile中所有gem的所有依赖项以将它们打包到rpm中吗 现在我很有礼貌,这很无聊 不,不幸的是,这是不可能的。RubyGems只记录Gem依赖项。很明显,它不能记录任何它不知道的依赖项,那怎么可能呢 有一个,但它只用于人类可读,而不是机器可读。通常,rpmbuild会自动执行这些操作…@glglglglgl,它如何知道gems
nokogiri
gem依赖于libxml
。我可以自动获取Gemfile中所有gem的所有依赖项以将它们打包到rpm中吗
现在我很有礼貌,这很无聊 不,不幸的是,这是不可能的。RubyGems只记录Gem依赖项。很明显,它不能记录任何它不知道的依赖项,那怎么可能呢
有一个,但它只用于人类可读,而不是机器可读。通常,
rpmbuild
会自动执行这些操作…@glglglglgl,它如何知道gems的二进制依赖关系?我需要为它们手动设置BuildRequires
,每当检查二进制文件和库并创建对其他库的依赖关系时。OTOH,库包提供与其包含的库相匹配的符号。但老实说,因为我不知道什么是宝石,我只能回答得不够。但是可能有一些脚本可以对它们进行适当的分析和处理。本主题的主要思想是找出这个脚本:)。但看起来好像没有这样的纸条,我明白这一点。我正在考虑解析extconf.rb,但这是一个非常复杂的问题,一般来说是不可行的:)还有一些依赖项,它们甚至没有出现在extconf.rb
中,只要考虑一下使用Kernel#system
或类似的东西就可以了。