2010-09-19 2 views
2

Mon rmagic est pas un travailrmagic est pas un travail sur Rails3

ruby -v

rubis 1.8.7 (2010-01-10 patchlevel 249) [i386-mingw32]

rails -v

Rails 3.0 .0.beta4

irb

require rubygems

vrai

require rmagick

vrai

mais, je mets le code fllow:

gem 'rmagick', :require => false

il erreur:

 
checking for Ruby version >= 1.8.5... yes 
checking for stdint.h... no 
checking for sys/types.h... no 
checking for wand/MagickWand.h... no 

Can't install RMagick 2.13.1. Can't find MagickWand.h. 
*** 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. 

Provided configuration options: 
     --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 files will remain installed in C:/Ruby/lib/ruby/gems/1.8/gems/rmagick-2.13.1 for inspection. 
Results logged to C:/Ruby/lib/ruby/gems/1.8/gems/rmagick-2.13.1/ext/RMagick/gem_make.out 
     from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `each' 
     from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `build_extensions' 
     from C:/Ruby/lib/ruby/site_ruby/1.8/rubygems/installer.rb:198:in `install' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/source.rb:100:in `install' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:55:in `run' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:44:in `run' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:8:in `install' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/cli.rb:217:in `install' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in `send' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in `run' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb:118:in `invoke 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb:246:in `dispatch' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb:389:in `start' 
     from C:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.0/bin/bundle:13 
     from C:/Ruby/bin/bundle:19:in `load' 
     from C:/Ruby/bin/bundle:19 

s'il vous plaît aidez-moi, merci!

+0

Quelle est votre SO? –

Répondre

2

MagickWand.h fait partie de ImageMagick et le programme d'installation RMagick ne le trouve pas. Il semble que vous deviez installer ImageMagick sur votre système ou si vous l'avez installé, vous devez ajouter les bibliothèques à un chemin que le programme d'installation gem peut voir. RMagick ne fonctionnera pas sans ImageMagick ou GraphicsMagick installé sur votre système.

MISE À JOUR RÉPONSE Puisque vous utilisez Windows, vous devrez télécharger la gemme manuellement et l'installer. La FAQ d'installation indique:

Utilisez la gemme rmagick-win32. Cette gemme est fournie avec une copie du programme d'installation Windows ImageMagick, vous n'avez donc pas besoin de télécharger votre propre copie. Téléchargez la gemme rmagick-win32 depuis la page du projet RMagick sur RubyForge, décompressez-la dans un répertoire temporaire et suivez les instructions du fichier README.html que vous trouverez dans le paquet.

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

Je pense que vous voulez sans doute désinstaller la version ImageMagick que vous avez déjà installé, dans le cas où il y a des conflits. Après avoir installé la gemme manuellement, vous devriez pouvoir la mettre dans votre installation Gemfile et bundle. N'ayant pas utilisé rmagick sur Windows, je ne suis pas sûr si vous référencez la gemme comme "rmagick" ou "rmagick-win32". Après avoir installé la gemme manuellement, vous pouvez probablement comprendre cela en exécutant la commande "gem list". Voyez lequel apparaît et mettez-le dans votre Gemfile, afin qu'il puisse trouver la version installée. Bundler utilisera cette gemme au lieu d'essayer d'en installer une nouvelle.

+0

merci cowboycoded, mon OS est Windows XP, j'ai installé ImageMagick-6.6.4-Q16 et ajouter les bibliothèques à un chemin. Je ne trouve pas MagickWand.h à C: \ Program Files \ ImageMagick-6.6.4-Q16, pourquoi? – kenny

+0

s'il vous plaît voir la mise à jour de la réponse. J'utilise rmagick sur linux, mais je pense que cela devrait fonctionner pour Windows selon la FAQ d'installation. – johnmcaliley

-1

Ce code devrait faire l'affaire ...

require 'RMagick'pasrequire 'rmagick'

Questions connexes