2012-04-16 3 views
0

Я использую несущую для загрузки изображений в свой проект, следуя вместе с Райаном Бейтсом railscasts here.Не удается установить gem rmagick [Windows 7 64 бит]

Я использую рубин 1.9.2p290 (2011-07-09) [i386-mingw32], и рельсы 3.1.0

В эпизоде ​​он говорит, чтобы иметь использование RMagick вы должны установить его в ваш Gemfile как так

Gemfile

gem 'rmagick' 

, а затем запустить пакет установки, я получаю ошибку

Installing rmagick (2.13.1) with native extensions C:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:533:in `rescue in block in build_extensions': ERROR 
: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) 

    C:/Ruby192/bin/ruby.exe extconf.rb 
checking for Ruby version >= 1.8.5... yes 
Invalid drive specification. 
Unable to get ImageMagick version 
*** 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:/Ruby192/bin/ruby 

Так что я гугле 'Невозможно получить ImageMagick версию и нашел эту ссылку here и следовали инструкциям, скачал RMagick-2.13.1.tar.gz, экстрагируют в C: \ RMagick и побежал

ruby setup.rb command 

и получил следующую ошибку.

c:\RMagick-2.13.1>ruby setup.rb 
---> lib 
---> lib/rvg 
<--- lib/rvg 
<--- lib 
---> ext 
---> ext/RMagick 
C:/Ruby192/bin/ruby.exe c:/RMagick-2.13.1/ext/RMagick/extconf.rb 
checking for Ruby version >= 1.8.5... yes 
Invalid drive specification. 
Unable to get ImageMagick version 
*** c:/RMagick-2.13.1/ext/RMagick/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. 

Ошибка снова Невозможно получить версию ImageMagick. Я подумал, что Imagemagick пришел в комплекте с установкой окон. Кто-нибудь может помочь в этом вопросе?

ответ

3

CarrierWave действительно отличное решение для управления загрузкой изображений в Rails. RMagick является очень мощным, но вы не поверите, сколько проблем со мной и моими друзьями на протяжении многих лет выполнялось при установке и обновлении RMagick и ImageMagick в различных средах и операционных системах (особенно Windows и Mac).

Если у вас установлен ImageMagick, и вы не слишком беспокоитесь о производительности, вы можете использовать MiniMagick вместо RMagick. Гораздо проще установить его. В классе загрузчика вы можете включить MiniMagick:

class MyUploader < CarrierWave::Uploader::Base 
    include CarrierWave::MiniMagick 

    ... 
end 

Этой сложность инструментов обработки изображений является одной из причин, я хотел бы предложить вам взглянуть на нашем решении для интеграции CarrierWave в то время как все преобразования изображений выполняются в облаке (не нужно устанавливать RMagick или ImageMagick вообще). This blog post описывает решение. Просто включите плагин CarrierWave, который вы включили:

class MyUploader < CarrierWave::Uploader::Base 
    include Cloudinary::CarrierWave 

    ... 
end 
+0

Awesome. Я смотрел на miniagick, но решил попробовать и выкрутить его. Я отвечу на ваш совет и поставлю RMagick на этот. – ruevaughn