【问题标题】:gem install rmagick -v 2.13.1 error Failed to build gem native extension on Mac OS 10.9.1gem install rmagick -v 2.13.1 错误无法在 Mac OS 10.9.1 上构建 gem 本机扩展
【发布时间】:2014-01-28 04:14:33
【问题描述】:

我已经通过给出 MagickWand.h 的路径尝试了所有方法,我安装了命令工具。谁能帮帮我?

$ gem install rmagick -v 2.13.1

构建原生扩展。这可能需要一段时间... 错误:错误 安装 rmagick:错误:无法构建 gem 原生扩展。

/Users/ghazanfarali/.rvm/rubies/ruby-1.8.7-p357/bin/ruby extconf.rb 检查 Ruby 版本 >= 1.8.5... 是检查 /usr/bin/gcc-4.2...是检查Magick-config...是检查 ImageMagick 版本 >= 6.4.9... 是检查 HDRI 禁用版本 ImageMagick ...是检查stdint.h ...不检查 sys/types.h... 不检查 wand/MagickWand.h... 不

无法安装 RMagick 2.13.1。找不到 MagickWand.h。 * extconf.rb failed * 由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。查看 mkmf.log 文件以获取更多详细信息。您可能需要配置 选项。

提供的配置选项:--with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/ghazanfarali/.rvm/rubies/ruby-1.8.7-p357/bin/ruby

Gem 文件将继续安装在 /Users/ghazanfarali/.rvm/gems/ruby-1.8.7-p357/gems/rmagick-2.13.1 检查。结果记录到 /Users/ghazanfarali/.rvm/gems/ruby-1.8.7-p357/gems/rmagick-2.13.1/ext/RMagick/gem_make.out "

【问题讨论】:

  • 您需要为您的操作系统安装 imagemagick 包的开发头文件
  • 你能迁移到 ruby​​ 版本 > 1.8.7 吗?我将设置环境并查看是否遇到问题。

标签: ruby-on-rails ruby gem imagemagick imagick


【解决方案1】:

我强烈建议您使用HomeBrew 之类的东西来管理 OSX 包(如果您还没有的话)。还有其他选择,包括 MacPorts。

RMagic 只是一个 ruby​​ 接口,带有用于底层 ImageMagic 包的 ruby​​ 绑定。

我会确保安装了最新的 imagemagick:

brew install imagemagick

或者,如果已经安装:

brew upgrade imagemagick

或者,根据this answer

# install latest command line tools via xcode     
# make sure you have the latest homebrew with the latest packages 
brew update
# uninstall imagemagick and then reinstall to make use updated compiler
brew uninstall imagemagick
brew install imagemagick
# uninstall rmagick then reinstall to ensure native extensions are built against
# latest imagemagick
gem uninstall rmagick
gem install rmagick # or bundle

另外,你可以运行:

brew doctor

找出可能影响这些软件包构建的任何问题。

更新


两种方法:

  1. RMagick 最近已更新以修复与最新 ImageMagick 相关的构建问题。使用版本 2.13.2。根据 RMagick 自述文件: This release will fix the installation issues due to ruby 1.9.3 and ImageMagick 6.8+.

  2. 可能是更好的方法。将 rmagick 替换为 mini_magick,因为 mini_magick 正在积极开发中,而 rmagick 还没有。 Imagemagick 也在积极开发中,因此随着 API 的变化,RMagick 过时的 API 将变得越来越陈旧。

【讨论】:

  • 安装了最新的 imagemagick 我做了 brew upgrade imagemagick 和 brew doctor 但我仍然面临同样的错误
  • 好的,所以在深入挖掘之后,问题似乎是由于最新的 imagemagick(当前已更新)和 rmagick(一年或更长时间前停止开发)之间的阻抗不匹配。您应该改用“mini_magick”。
  • 终于找到了解决方案,特别感谢Matt Dressel先生,他的发现真的帮我解决了这个问题。这是那些面临同样问题的人的链接。 blog.paulopoiati.com/2013/01/28/…
【解决方案2】:

请检查此question 的答案。也许你只需要:

brew install imagemagick

【讨论】:

  • 安东,我同意你的看法。我相信包管理器会解决他遇到的问题。
  • 您提供的问题链接对我没有帮助。在尝试了所有相关问题后,我来提问。
猜你喜欢
  • 1970-01-01
  • 2012-08-06
  • 2019-06-20
  • 1970-01-01
  • 2016-08-28
  • 2013-06-27
  • 2018-04-26
  • 1970-01-01
  • 2021-01-12
相关资源
最近更新 更多