由于 wand/magick_wand.h 路径无效,在 Heroku 堆栈 20 中安装 prawn-gmagick 时出错

问题描述

@H_404_0@这是我在尝试部署到 Heroku using the most recent stack (20) 时遇到的错误

   Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
   
   current directory:
   /tmp/build_20bfe735/vendor/bundle/ruby/2.6.0/gems/prawn-gmagick-0.0.9/ext/image
   /tmp/build_20bfe735/vendor/ruby-2.6.6/bin/ruby -I
   /tmp/build_20bfe735/vendor/ruby-2.6.6/lib/ruby/2.6.0 -r
   ./siteconf20210328-11397-1gaqmyj.rb extconf.rb
   creating Makefile
   
   current directory:
   /tmp/build_20bfe735/vendor/bundle/ruby/2.6.0/gems/prawn-gmagick-0.0.9/ext/image
   make "DESTDIR=" clean
   
   current directory:
   /tmp/build_20bfe735/vendor/bundle/ruby/2.6.0/gems/prawn-gmagick-0.0.9/ext/image
   make "DESTDIR="
   compiling image.c
   image.c:3:10: Fatal error: wand/magick_wand.h: No such file or directory
       3 | #include <wand/magick_wand.h>
         |          ^~~~~~~~~~~~~~~~~~~~
   compilation terminated.
   make: *** [Makefile:245: image.o] Error 1
   
   make Failed,exit code 2
@H_404_0@在我用 graphicsmagick 尝试这个 buildpack 后出现同样的错误 https://elements.heroku.com/buildpacks/bogini/heroku-buildpack-graphicsmagick

@H_404_0@因此,在玩了一会儿之后,我通过向上面示例中的 Aptfile 添加 3 个额外的依赖项使其工作

libgraphicsmagick++3
libgraphicsmagick++1-dev
libgraphicsmagick-q16-3
@H_404_0@所以最后的 Aptfile 看起来像这样

debhelper
g++
gsfonts
libbz2-dev
libexif-dev
libfreetype6-dev
libice-dev
libjbig-dev
libjpeg-dev
liblcms2-dev
libltdl-dev
libpng-dev
libsm-dev
libtiff-dev
libwebp-dev
libwmf-dev
libx11-dev
libxext-dev
libxml2-dev
perl
sharutils
transfig
x11proto-core-dev
zlib1g-dev
libgraphicsmagick++3
libgraphicsmagick++1-dev
libgraphicsmagick-q16-3
@H_404_0@还有我的 buildpack 设置:

1. https://github.com/heroku/heroku-buildpack-apt
2. https://github.com/bogini/heroku-buildpack-graphicsmagick
3. heroku/ruby
@H_404_0@你们是否发现这些依赖项和设置有任何问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)