繁体   English   中英

无法安装gem rmagick [Windows 7 64位]

[英]Can't install gem rmagick [Windows 7 64 bit]

我正在使用载波将图像上传到我的项目中,以及此处的 Ryan Bates railscasts。

我正在使用ruby 1.9.2p290(2011-07-09)[i386-mingw32]和rails 3.1.0

在该剧集中说,要使用rmagick,您必须像这样将其安装在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的版本,并在此处找到了此链接并按照说明进行了操作,下载了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与Windows安装捆绑在一起。 有人对此事有帮助吗?

对于在Rails中管理图像上传,CarrierWave确实是一个很好的解决方案。 RMagick非常强大,但是您不会相信多年来我在各种环境和操作系统(尤其是Windows和Mac)中安装和升级RMagick和ImageMagick时遇到的麻烦。

如果安装了ImageMagick,并且您不必担心性能,则可以使用MiniMagick代替RMagick。 安装起来要容易得多。 在您的上载器类中,您可以包括MiniMagick:

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

  ...
end

图像处理工具的这种复杂性是我建议您看一下我们的解决方案以集成CarrierWave的原因之一,而所有图像转换都在云中完成(根本不需要安装RMagick或ImageMagick)。 这篇博客文章描述了解决方案。 只需切换您包含的CarrierWave插件即可:

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

  ...
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM