Rmagic не работает на Rails3 - PullRequest
       8

Rmagic не работает на Rails3

2 голосов
/ 19 сентября 2010

Мой Rmagic не работает

ruby ​​-v

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

rails -v

Rails 3.0.0.beta4

irb

требуется рубинов

true

требуется rmagick

true

но я поставил код сброса:

gem 'rmagick',: require => false

it error:

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

пожалуйста, помогите мне, спасибо!

Ответы [ 2 ]

2 голосов
/ 20 сентября 2010

MagickWand.h является частью ImageMagick , и установщик RMagick не может его найти.Похоже, что вам нужно установить ImageMagick в вашей системе или, если он установлен, вам нужно добавить библиотеки в путь, который видит установщик gem.RMagick не будет работать без установленного в вашей системе ImageMagick или GraphicsMagick.

ОБНОВЛЕННЫЙ ОТВЕТ Поскольку вы используете Windows, вам нужно будет загрузить самоцвет и установить его вручную.Часто задаваемые вопросы по установке гласят:

Используйте гем rmagick-win32.Этот драгоценный камень поставляется с копией установщика ImageMagick для Windows, поэтому вам не нужно загружать свою собственную копию.Загрузите гем rmagick-win32 со страницы проекта RMagick на RubyForge, разархивируйте его во временный каталог и следуйте инструкциям в файле README.html, который находится в пакете.

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

Я думаю, что вы, возможно, захотите удалить версию imagemagick, которую вы уже установили, на случай возникновения каких-либо конфликтов.После того, как вы установите gem вручную, вы сможете поместить его в ваш Gemfile и установить пакет.Не использовав rmagick для Windows, я не уверен, что вы ссылаетесь на этот камень как «rmagick» или «rmagick-win32».После того, как вы установите gem вручную, вы, вероятно, сможете это выяснить, запустив команду «gem list».Посмотрите, какой из них появился, и поместите его в свой Gemfile, чтобы он мог найти установленную версию. Bundler будет использовать этот гем вместо того, чтобы пытаться установить новую.

0 голосов
/ 10 июня 2011

Этот код должен помочь ...

require 'RMagick' не require 'rmagick'

...