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

ruby-on-rails – 我可以合并系统库(例如libxml2)我编译成一个我可以部署到Heroku的gem(例如nokogiri)吗?

Nokogiri在转换为UTF-8字符时出现问题,后者最终来自libxml2,特别是版本2.7.6,这是Ubuntu 10.04 LTS上支持的最高版本.该错误已在2.7.7及更高版本中修复,但由于我们的应用程序托管在Heroku(bamboo-ree-1.8.7堆栈,基于Ubuntu 10.04)上,我们必须使用2.7.6版本,并继续体验bug,除非:

>有人可以/已经攻击了nokogiri以解决问题
> Canonical颠覆Ubuntu 10.04支持的libxml2版本(和/或Heroku在其堆栈中更新libxml2)
>我可以想办法让nokogiri使用libxml2版本,我可以将其与应用程序捆绑在一起,以便可以部署到Heroku.

很高兴听到有关1或2的任何反馈,但很好奇3是否可行.以下是我所知道的可能性:

> Nokogiri可以链接到位于非标准位置的图书馆 – http://nokogiri.org/tutorials/installing_nokogiri.html
>以这种方式创建的gem可以安装到供应商/宝石,因此优先于系统宝石

我的问题是,我可以将更高版本的libxml2包含在应用程序中,以便编译的供应商宝石在我提交它并将其推送到Heroku时使用它吗?

解决方法

它不是最用户友好的解决方案,但这是我曾经做过的一次获得自定义版本的libpq.我是在雪松上做过的,但如果你先进入tmp,它可能适用于竹子

> heroku运行bash
>卷曲你想要建立的东西的来源
>建立它
>将二进制文件从dyno中发送出去
>供应商建造的二进制文件在供应商/任何
> heroku config添加LD_LIBRARY_PATH = / app / vendor / whatever

对不起,还没有更好的方法来获得定制的binaires.祝好运.

原文地址:https://www.jb51.cc/ruby/267879.html

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

相关推荐