经过几个小时的努力,最终在win7x64 / ruby 1.9.2上安装了rmagick 2.13.1 gem,没有出现错误,我遇到了另一个错误.是的,我听说过windows的windows经验可能是痛苦的…
我使用载波来处理和上传图像到AWS S3.
处理看起来像
class IconUploader < CarrierWave::Uploader::Base require 'rmagick' include CarrierWave::RMagick ... process :resize_to_fit => [100,100] process :convert => :png ...
当我在我的开发机器上触发文件上传时,会给我一个Windows弹出窗口
CORE_RL_magick_.dll not found
谷歌对此没有太大的帮助.
我的PATH变量设置为C:/ ruby192 / ImageMagick – 它已经安装了ImageMagick.这个文件夹有几个CORE_RL DLL,包括magick一个. DLL的本身没有丢失!
irb>要求’rmagick’返回true
并转换为-version输出:
Version: ImageMagick 6.6.9-6 2011-04-14 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC Features: OpenMP
所以我有几个问题.
>我该如何解决?
> elseif我没有,是否有任何其他宝石和/或图形库,由windows和heroku支持?
>否则可能有一种配置载波的方法,而不是在开发环境中处理图像
到目前为止,我已经尝试过ImageMagick v 6.6.9 32bit dll,它给出了CORE_RL DLL错误,
64位静态,没有dev头来编译rmagick宝石,
和64位动态,这给我在宝石编译期间的每个测试中除了第一个以外的未定义的参考错误:
checking for snprintf() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes checking for AcquireImage() in assert.h,wand/MagickWand.h... no and so on...
感谢大家.
解决方法
似乎问题出在DLL本身.当我尝试注册它,Windows给了我一个关于dll问题的错误.
>去here
>下载ImageMagick 6.6.1-10 32bit动态或任何其他版本,除了当前最新版本6.6.9,其中有一些DLL问题
>使用选项进行安装:添加到PATH和开发头.安装路径不应包含空格.
安装后,应该给你一个关于成功的dll注册的消息框.
>在命令行中键入convert -version来检查一切是否正常.它应该打印如下:
版本:ImageMagick 6.6.1-10 2010-05-15 Q16 http://www.imagemagick.org
版权所有(C)1999-2010 ImageMagick Studio LLC
特点:OpenMP
>如果还没有安装DevKit.
>安装rmagick gem:gem install rmagick –platform = ruby – –with-opt-lib = c:/ ruby192 / ImageMagick / lib –with-opt-include = c:/ ruby192 / ImageMagick / include
应该打印
Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while...
几分钟后,如果一切正常,你应该看到
Successfully installed rmagick-2.13.1 1 gem installed Installing ri documentation for rmagick-2.13.1... Installing RDoc documentation for rmagick-2.13.1...
就是这样希望这样可以节省人们沮丧的浪费几个小时.