我正在尝试在Heroku上安装gem'taglib-ruby'。这个gem编译为原生扩展,需要一个名为taglib的系统依赖,因此在通过heroku vulcan编译和上传之后,我实现了通过heroku bash上的命令行编译gem:
bundle exec gem install taglib-ruby -- --with-opt-dir=/app/vendor/taglib
为了这个参数稍后将由 bundler 使用,我通过以下命令将其添加为捆绑器配置:
bundle config build.taglib-ruby '--with-opt-dir=/app/vendor/taglib'
我已经验证此配置已应用,检查文件/.bundle/config并查找BUNDLE_BUILD__TAGLIB-RUBY行。
然而,在将我的项目推送到heroku并且正在执行 bundle install 命令时, heroku抱怨上面的gem(taglib-ruby)无法安装,因为taglib库不是现在,虽然这是我试图通过上面提到的选项' - with-opt-dir = / app / vendor / taglib'解决的问题。
所以似乎Heroku忽略了捆绑器配置。
可能会发生什么?您是否知道在Heroku上实现相同意图(使用自定义构建选项安装gem)的另一种方式?