2 Stimmen

Rmagic funktioniert nicht auf Rails3

Mein Rmagic funktioniert nicht

ruby -v

ruby 1.8.7 (2010-01-10 Patchlevel 249) [i386-mingw32]

Schienen -v

Rails 3.0.0.beta4

irb

erfordern rubygems

wahr

erfordern rmagick

wahr

aber ich habe den folgenden Code eingegeben:

gem 'rmagick', :require => false

es Fehler:

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

Bitte helfen Sie mir, danke!

2voto

johnmcaliley Punkte 10839

MagickWand.h ist Teil von ImageMagick und das RMagick-Installationsprogramm kann es nicht finden. Es scheint, dass Sie ImageMagick auf Ihrem System installieren müssen, oder wenn Sie es installiert haben, müssen Sie die Bibliotheken zu einem Pfad hinzufügen, den das gem-Installationsprogramm sehen kann. RMagick wird nicht funktionieren, wenn ImageMagick oder GraphicsMagick nicht auf Ihrem System installiert sind.

AKTUALISIERTE ANTWORT Da Sie Windows verwenden, müssen Sie den Edelstein manuell herunterladen und installieren. In der FAQ zur Installation steht:

Verwenden Sie das rmagick-win32-Gem. Dieser Edelstein ist mit einer Kopie des ImageMagick-Windows-Installationsprogramms gebündelt, sodass Sie keine eigene Kopie herunterladen müssen. Laden Sie das rmagick-win32-Gem von der RMagick-Projektseite auf RubyForge herunter, entpacken Sie es in ein temporäres Verzeichnis und folgen Sie den Anweisungen in der Datei README.html, die Sie in dem Paket finden.

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

Ich denke, dass Sie wahrscheinlich die bereits installierte Imagemagick-Version deinstallieren sollten, falls es irgendwelche Konflikte gibt. Nachdem Sie den Edelstein manuell installiert haben, sollten Sie in der Lage sein, ihn in Ihr Gemfile einzufügen und die Installation zu bündeln. Da ich rmagick unter Windows nicht verwendet habe, bin ich mir nicht sicher, ob Sie das Gem als "rmagick" oder "rmagick-win32" referenzieren. Nachdem Sie den Edelstein manuell installiert haben, können Sie das wahrscheinlich herausfinden, indem Sie den Befehl "gem list" ausführen. Schauen Sie, welches Gem auftaucht und tragen Sie es in Ihr Gemfile ein, damit es die installierte Version finden kann. Bundler wird diesen Gem verwenden, anstatt zu versuchen, einen neuen zu installieren.

-1voto

Fretta Punkte 1

Mit diesem Code sollte es klappen...

require 'RMagick' no require 'rmagick'

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X