Rmagic不适用于Rails3
我的Rmagic不起作用
ruby-v
ruby 1.8.7(2010-01-10 patchlevel 249)[i386-mingw32]
rails -v
Rails 3.0.0.beta4
IRB
需要rubygems
真正
需要rmagick
真正
但是,我把fllow代码:
gem’rmagick’,: require => false
它错误:
检查Ruby版本> = 1.8.5 ...是检查stdint.h ...没有检查sys / types.h ...没有检查wand / MagickWand.h ...否无法安装RMagick 2.13 0.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 --without-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/site_ruby/1.8/rubygems/installer.rb记录到C:/Ruby/lib/ruby/gems/1.8/gems/rmagick-2.13.1/ext/RMagick/gem_make.out :446:来自C的“each”:/ Ruby / lib / ruby / site_ruby / 1.8 / rubygems / installer.rb:446:来自C:/Ruby / lib / ruby / site_ruby / 1.8 / rubygems / installer的`build_extensions' .rb:198:来自C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/source.rb的`install':100:来自C:/ Ruby的`install' /lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:55:in从'C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0运行' .0 / lib / bundler / spec_set.rb:12:在C中的'each'中:/Ruby / lib / ruby / gems / 1.8 / gems / bundler-1.0.0 / lib / bundler / spec_set.rb:12:in来自C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:44的'each'来自C:/ Ruby / lib / ruby / gems的`run' /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/vendo r / thor / task.rb:22:来自C的`send':/ Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:来自C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb的“run”:118:在`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:来自C的`start':/ Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/bin/bundle:13来自C :/ Ruby / bin / bundle:19:来自C:/ Ruby / bin / bundle的`load':19
请帮帮我,谢谢!
MagickWand.h是ImageMagick的一部分,RMagick安装程序找不到它。 您似乎需要在系统上安装ImageMagick,或者如果安装了ImageMagick,则需要将库添加到gem安装程序可以看到的路径中。 如果没有在系统上安装ImageMagick或GraphicsMagick,RMagick将无法运行。
更新的答案由于您使用的是Windows,您需要手动下载gem并进行安装。 安装FAQ说:
使用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而不是尝试安装新的gem。
这段代码应该诀窍……
require 'RMagick'
不 require 'rmagick'