如何在 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 上安装插件

如何在 Heroku 上正确安装 PyICU?

如何在 Heroku 上正确安装 PyICU?

markdown [mac] pip安装eyeD3模块。找不到libmagic

如何在 Termux 上安装 Heroku CLI?

如何为以下设置安装 SSL(React 前端 + Nodejs 后端 + 自定义域 Heroku)