ruby-on-rails - ImageMagick - "CORE_RL_magick_.dll not found"或如何使用 ruby​​ 1.9.2 在 Windows 上安装 RMagick

标签 ruby-on-rails ruby windows imagemagick rmagick

我正在开发 Rail3 应用程序。 经过几个小时的努力并最终在 win7x64/ruby​​ 1.9.2 上安装 rmagick 2.13.1 gem 而没有错误,我遇到了另一个错误。是的,我听说 Windows 中的 Rails 体验可能会很痛苦......

我使用 carrierwave 处理图像并将其上传到 AWS S3。 处理看起来像

class IconUploader < CarrierWave::Uploader::Base

require 'rmagick'
include CarrierWave::RMagick
... 
process :resize_to_fit => [100, 100]
process :convert => :png
...

当我在我的开发机器上触发文件上传时,它抛出一个窗口弹出窗口,说

CORE_RL_magick_.dll not found

Google 在这方面并没有真正提供帮助。

我将我的 PATH 变量设置为 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

所以我有几个问题。

  1. 我该如何解决这个问题?
  2. elseif 我不知道,是否有任何其他 windows 和 heroku 都支持的 gem 和/或图形库?
  3. else 也许有一种方法可以配置载波,而不是在开发环境中处理图像

到目前为止,我已经尝试过 ImageMagick v 6.6.9 32 位 dll,它给出了 CORE_RL dll 错误, 64 位静态,没有用于编译 rmagick gem 的开发 header , 和 64 位动态,这在 gem 编译期间给了我大量的 undefined reference 错误,每个测试,除了第一个:

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 gem 并使其全部正常工作。万岁。

问题似乎出在 DLL 本身。当我尝试注册它时,Windows 给了我一个关于 dll 问题的好消息。

所以我解决所有问题的方法是:

  1. 前往 here

  2. 下载 ImageMagick 6.6.1-10 32bit 动态或任何其他版本除了当前最新版本 6.6.9,它有一些 DLL 问题

  3. 使用选项安装它:添加到 PATH 和开发 header 。 安装路径不应包含空格。 安装后,它应该给你一个关于 dll 注册成功的消息框。

  4. 在命令行中输入 convert -version 来检查是否一切正常。它应该打印如下内容:

    版本:ImageMagick 6.6.1-10 2010-05-15 Q16 http://www.imagemagick.org 版权所有: 版权所有 (C) 1999-2010 ImageMagick Studio LLC 特点:OpenMP

  5. 安装 DevKit如果您还没有。

  6. 安装 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...

就是这样。希望这可以避免有人在沮丧中浪费几个小时。

还有两个有用的链接:12如果还是不能安装

关于ruby-on-rails - ImageMagick - "CORE_RL_magick_.dll not found"或如何使用 ruby​​ 1.9.2 在 Windows 上安装 RMagick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5811388/

相关文章:

ruby-on-rails - 性能 : adding a new column, 或将现有列加在一起哪个更糟?

ruby-on-rails - Ruby on Rails : Print element of array in a single line in html. erb 文件

css - nth-child() 和 eq() 有什么区别

Ruby,运行所有方法

windows - 错误由于错误而停止(org.apache.kafka.connect.cli.ConnectStandalone)java.lang.NoClassDefFoundError : io/debezium/util/IoUtil

windows - 在应用程序中包含 Visual C++ 运行时

ruby-on-rails - 回形针几何类不再有效

ruby-on-rails - 没有路线匹配 [PUT]。如何正确走线?

ruby - 解析具有嵌套信息结构的纯文本文件的最佳方法

windows - 在大型目录结构上运行时出现元数据导出错误