我正在开发一个Rail3应用程序。 经过几个小时的苦苦挣扎,终于在win7x64 / ruby 1.9.2上安装了rmagick 2.13.1 gem没有错误,我遇到了另一个错误。 是啊,我听说在Windows中的铁轨体验可能是痛苦的…
我使用carrierwave处理和上传图像到AWS S3。 处理看起来像
class IconUploader < CarrierWave::Uploader::Base require 'rmagick' include CarrierWave::RMagick ... process :resize_to_fit => [100, 100] process :convert => :png ...
当我在我的开发机器上触发file upload时,会popup一个窗口popup窗口,说
找不到CORE_RL_magick_.dll
谷歌对这一个并不是很有帮助。
我有我的PATHvariables设置为C:/ ruby192 / ImageMagick – 其中我已经安装了ImageMagick。 这个文件夹有几个CORE_RL dll包括magick一个。 DLL本身不会丢失!
irb > require 'rmagick'
返回true并convert -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
我不知道,是否有任何其他的gem和/或graphics库,由Windows和Heroku支持? else
也许有一种方法来configurationcarrierwave,而不是在开发环境中处理图像 到目前为止,我已经尝试了ImageMagick v 6.6.9 32位dll,它给出了CORE_RL dll错误,64位静态,没有dev头文件来编译rmagick gem,还有64位dynamic的,这给我带来了undefined reference
在gem编辑过程中的错误,除了第一个testing外,
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,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... no and so on...
感谢大家。
我终于设法安装了ImageMagick,并构建了RMagick的宝石,并使其一切工作。 万岁。
这似乎是在DLL本身的问题。 当我试图注册时,窗口给了我一个关于DLL的问题一个很好的错误。
所以我解决所有问题的方法是:
在命令行中输入convert -version来检查一切是否正常。 它应该打印像这样的东西:
版本:ImageMagick 6.6.1-10 2010-05-15 Q16 http://www.imagemagick.org版权所有:Copyright(C)1999-2010 ImageMagick Studio LLC特性:OpenMP
如果你还没有安装DevKit ,
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...
就是这样。 希望这可以节省一些人在挫折中浪费几个小时。
只有两个有用的链接: 1和2,如果你仍然无法安装
这是一个痛苦的安装。 此时此刻,我不得不重新安装Ruby,Rails,Devkit和ImageMagick。 最好的办法就是去做同样的事情,除了Rails之外,还要去用最新的版本,除非你用3.1的酷。 在这一刻我正在使用最新版本:
ImageMagick-6.7.2-1-Q16-windows-dll - Win32 dynamic at 16 bits-per-pixel DevKit-tdm-32-4.5.2-20110712-1620-sfx rubyinstaller-1.9.2-p290 Rails 3.0.9
我的系统:
Windows 7,x64
我的路径与接受的答案有一点不同。
我的c:/ ImageMagick
gem install rmagick --platform=ruby -- --with-opt-lib=c:/ImageMagick/lib --with-opt-include=c:/ImageMagick/include
我首先安装了Ruby,所有的选项都被选中,然后ImageMagick的“关联路径选项”和“标题”被选中。
然后轻松设置devkit:
1) cd c:\DevKit 2) ruby dk.rb init 3) ruby dk.rb install
然后在devkit(c:/ devkit)里面做了这个,安装时没有错误:
gem install rmagick --platform=ruby -- --with-opt-lib=c:/ImageMagick/lib --with-opt-include=c:/ImageMagick/include
如果你仍然有问题,那么也许这可以帮助你,我正在尝试这个,但我不熟悉设置的环境,并获得第5步的工作: http : //www.waydotnet.com/blog/2010/02/rmagick-上红宝石1-9-1-I386-mingw32的工作-d /
第5步我相信可以改成我在Devkit里面做的,而是试试看,祝你好运!
我敢肯定你会碰到试图在Heroku上运行它的问题,因为RMagick只是用来与ImageMagick处理库交互的gem。 ImageMagick也需要安装在本地机器上,我不知道你能在Heroku上做什么。 ImageMagick安装包含您正在使用的缺少的.dll文件。 我经常在当地的项目上使用它。 这是链接:
http://www.imagemagick.org/script/binary-releases.php?ImageMagick=d1l695sitj9h0vdqs78vgebqc5#windows
我建议从上面的链接安装64位“静态”二进制文件。 我遇到了一两个试图使用DLL版本的问题。
无论如何下载它,安装它,然后添加您的C:\ Program Files \ ImageMagick-6.5.6-Q8(或无论你的安装到)PATH环境变量的路径。
然后,您应该能够正确使用您的RMagick gem。
祝一切顺利。
我遵循这个帖子的步骤,但仍然有很多未定义的错误。 如果这是你的情况,你可能想尝试安装32位版本的imagemagick,尽管有一个64位的操作系统。 它为我工作。 你可以在这里阅读更多关于它: rmagick不建立在Windows 7未定义的参考错误