如何在 Heroku 上安装 libmagic?
Posted
技术标签:
【中文标题】如何在 Heroku 上安装 libmagic?【英文标题】:How to install libmagic on Heroku? 【发布时间】:2015-06-12 19:15:42 【问题描述】:我有一个使用ruby-filemagic
的rails 4 应用程序,因此需要在系统上安装filemagic
。
我尝试通过模仿this question 的解决方案在 Heroku 上安装它,但它就是行不通。我尝试了多种方法,但我认为最有希望的是通过apt-get
安装,这要归功于(修改后的)apt-get、config 和ruby buildpacks 的组合。
在配置中,我使用BUNDLE_BUILD__RUBY-FILEMAGIC: --with-magic-dir=/app/.apt/usr/ --with-magic-include=/app/.apt/usr/include --with-magic-lib=/app/.apt/usr/lib
最终,我还是得到了这个:
/tmp/build_29e629f8a00379850ab44096c10f1afc/vendor/ruby-2.0.0/bin/ruby extconf.rb --with-magic-dir=/tmp/build_29e629f8a00379850ab44096c10f1afc/.apt/usr/ --with-magic-include=/tmp/build_29e629f8a00379850ab44096c10f1afc/.apt/usr/include --with-magic-lib=/tmp/build_29e629f8a`00379850ab44096c10f1afc/.apt/usr/lib
checking for main() in -lgnurx... no
checking for magic_open() in -lmagic... no
*** ERROR: missing required library to compile this module
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
libmagic
确实安装到了这个目录中。它的内容等同于deb
包的内容,虽然看起来很轻。
【问题讨论】:
【参考方案1】:我能够得到这个工作:
.buildpacks:
https://github.com/ddollar/heroku-buildpack-apt#master
https://github.com/heroku/heroku-buildpack-ruby.git#master
适配文件:
libmagic-dev
heroku-bundle-config 不是必需的。
【讨论】:
不幸的是,这对我来说在全新的 Heroku 安装中不起作用,与 OP 相同的错误【参考方案2】:您需要在主 buildpack 之前添加 heroku-buildpack-magic
buildpack
heroku buildpacks:add --index 1 https://github.com/NetsoftHoldings/heroku-buildpack-magic.git
【讨论】:
以上是关于如何在 Heroku 上安装 libmagic?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Heroku.com 上托管的 Redmine 上安装插件