2

我的 Rmagic 不工作

红宝石-v

ruby 1.8.7 (2010-01-10 补丁级别 249) [i386-mingw32]

导轨-v

导轨 3.0.0.beta4

irb

需要红宝石

真的

需要 rmagick

真的

但是,我把流程代码:

gem 'rmagick', :require => false

它错误:

检查 Ruby 版本 >= 1.8.5... 是
检查 stdint.h ... 否
检查 sys/types.h... 否
检查 wand/MagickWand.h... 否

无法安装 RMagick 2.13.1。找不到 MagickWand.h。
*** extconf.rb 失败 ***
由于某种原因无法创建 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
        --没有-make-prog
        --srcdir=。
        --curdir
        --ruby=C:/Ruby/bin/ruby


Gem 文件将继续安装在 C:/Ruby/lib/ruby/gems/1.8/gems/rmagick-2.13.1 以供检查。
结果记录到 C:/Ruby/lib/ruby/gems/1.8/gems/rmagick-2.13.1/ext/RMagick/gem_make.out
        来自 C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `each'
        来自 C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `build_extensions'
        来自 C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/installer.rb:198:in `install'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/source.rb:100:in `install'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:55:in `run'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:44:in `run'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:8:in `install'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/cli.rb:217:in `install'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in `send'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in `run'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb:118:in `invoke
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb:246:in `dispatch'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb:389:in `start'
        来自 C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/bin/bundle:13
        来自 C:/Ruby/bin/bundle:19:in `load'
        来自 C:/Ruby/bin/bundle:19

请帮助我,谢谢!

4

2 回答 2

2

MagickWand.h是ImageMagick的一部分,RMagick 安装程序找不到它。看来您需要在系统上安装 ImageMagick,或者如果您安装了 ImageMagick,则需要将库添加到 gem 安装程序可以看到的路径中。如果您的系统上没有安装 ImageMagick 或 GraphicsMagick,RMagick 将无法工作。

更新的答案 由于您使用的是 Windows,因此您需要手动下载 gem 并安装它。安装常见问题解答说:

使用 rmagick-win32 gem。此 gem 与 ImageMagick Windows 安装程序的副本捆绑在一起,因此您无需下载自己的副本。从 RubyForge 上的 RMagick 项目页面下载 rmagick-win32 gem,将其解压缩到一个临时目录中,然后按照包中的 README.html 文件中的说明进行操作。

http://rubyforge.org/projects/rmagick/

我在想你可能想卸载你已经安装的 imagemagick 版本,以防有任何冲突。手动安装 gem 后,您应该可以将其放入 Gemfile 并进行捆绑安装。没有在 Windows 上使用 rmagick,我不确定您是否将 gem 称为“rmagick”或“rmagick-win32”。手动安装 gem 后,您可能可以通过运行“gem list”命令来解决这个问题。查看哪个出现并将其放入您的 Gemfile 中,以便它可以找到已安装的版本。. Bundler 将使用此 gem 而不是尝试安装新的。

于 2010-09-20T01:44:28.107 回答
-1

这段代码应该可以解决问题...

require 'RMagick' 不是 require 'rmagick'

于 2011-06-10T08:51:58.477 回答