[英]ImageMagick - “CORE_RL_magick_.dll not found” or how to install RMagick on windows with ruby 1.9.2
我正在開發 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
...
當我在我的開發機器上觸發文件上傳時,它會彈出一個 windows 彈出窗口,說
CORE_RL_magick_.dll 未找到
谷歌在這方面並沒有真正的幫助。
我將我的 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
所以我有幾個問題。
elseif
和 heroku 支持的 gem 和/或圖形庫?else
也許有一種方法可以配置載波,而不是在開發環境中處理圖像 So far I've tried ImageMagick v 6.6.9 32bit dll, which gives the CORE_RL dll error, 64 bit static, which doesn't have dev headers to compile the rmagick gem, and 64 bit dynamic, which gives me tonns of undefined reference
gem編譯期間的錯誤,每個測試,除了第一個:
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 問題的好錯誤。
所以我解決所有問題的方法是:
Go在這里
下載 ImageMagick 6.6.1-10 32 位動態或除當前最新版本 6.6.9 之外的任何其他版本,其中存在一些 DLL 問題
使用選項安裝它:添加到 PATH 和開發標頭。 安裝路徑不應包含空格。 安裝后它應該會給你一個關於 dll 注冊成功的消息框。
在命令行中輸入 convert -version 來檢查是否一切正常。 它應該打印如下內容:
Version: ImageMagick 6.6.1-10 2010-05-15 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC Features: 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...
就是這樣。 希望這可以避免有人在沮喪中浪費幾個小時。
安裝起來很痛苦。 此時此刻,我不得不重新安裝 Ruby、Rails、Devkit 和 ImageMagick。 你最好的辦法是做同樣的事情,go 除了 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- on-ruby-1-9-1-i386-mingw32-work-d/
我相信第 5 步可以改為我在 Devkit 中所做的,試一試,祝你好運!
我按照這篇文章的步驟進行操作,但仍然遇到很多未定義的錯誤。 如果您也是這種情況,您可能想嘗試安裝 32 版本的 imagemagick,盡管您擁有 64 位操作系統。 它對我有用。 你可以在這里閱讀更多相關信息: rmagick not build on windows 7 undefined reference errors
我很確定您在嘗試在 Heroku 上運行它時也會遇到問題,因為 RMagick 只是充當與 ImageMagick 處理庫接口的寶石。 ImageMagick 也需要安裝在本地機器上,我不知道你能在 Heroku 上安裝。 ImageMagick 安裝包含缺少的.dll 您所追求的。 我在本地項目中經常使用它。 這是鏈接:
我建議從上面的鏈接安裝 64 位“靜態”二進制文件。 我在嘗試使用 dll 版本時遇到了一兩個問題。
無論如何下載它,安裝它,然后將您的 C:\Program Files\ImageMagick-6.5.6-Q8 (或安裝到您的任何位置)路徑添加到您的 PATH 環境變量。
然后您應該能夠正確使用您的 RMagick gem。
一切順利。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.