ImageMagick – “CORE_RL_magick_.dll non trovato” o come installare RMagick su Windows con Ruby 1.9.2

Sto lavorando a un’app Rail3. Dopo aver lottato per diverse ore e aver finalmente installato la gem rmagick 2.13.1 senza errori su win7x64 / ruby ​​1.9.2, ho avuto un altro errore. Sì, ho sentito che l’esperienza di rail in windows potrebbe essere dolorosa …

Uso carrierwave per elaborare e caricare immagini su AWS S3. L’elaborazione sembra

class IconUploader  [100, 100] process :convert => :png ... 

Quando avvio il caricamento del file sul mio computer di sviluppo, mi lancia un popup di Windows, dicendo

CORE_RL_magick_.dll non trovato

Google non è stato davvero d’aiuto su questo.

Ho la mia variabile PATH impostata su C: / ruby192 / ImageMagick – è dove ho installato ImageMagick. E questa cartella ha diverse DLL CORE_RL, inclusa quella magick. Le DLL stesse non mancano!

irb > require 'rmagick' restituisce true e convert -version restituisce questo:

 Version: ImageMagick 6.6.9-6 2011-04-14 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC Features: OpenMP 

Quindi ho diverse domande.

  1. Come lo risolvo?
  2. elseif no, ci sono altre gemme e / o librerie grafiche supportate sia da windows che da heroku?
  3. else forse c’è un modo per configurare carrierwave, non per elaborare le immagini in ambiente dev

Finora ho provato ImageMagick v 6.6.9 dll a 32 bit, che dà l’errore dll CORE_RL, statico a 64 bit, che non ha intestazioni dev per compilare la gem rmagick, e dynamic a 64 bit, che mi dà tonnellate di undefined reference errori durante la compilazione gem, ogni test, tranne il primo:

 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... 

Grazie a tutti.

Sono finalmente riuscito a installare ImageMagick e creare la gem RMagick e far funzionare tutto. Evviva.

Sembra che il problema fosse nella DLL stessa. Quando ho provato a registrarlo, Windows mi ha dato un bel errore su un problema con la DLL.

Quindi il mio modo di risolvere tutti i problemi è:

  1. Vai qui
  2. Scarica ImageMagick 6.6.1-10 a 32 bit dinamico o qualsiasi altra versione eccetto la versione più recente 6.6.9, che ha alcuni problemi DLL
  3. Installalo con le opzioni: Aggiungi a PATH e intestazioni di sviluppo. Il percorso di installazione non deve contenere spazi . Dopo l’installazione dovrebbe darti una finestra di messaggio sulla registrazione della DLL riuscita.
  4. Nella riga di comando digitare convert -version per verificare se tutto funziona. Dovrebbe stampare qualcosa del tipo:

    Versione: ImageMagick 6.6.1-10 2010-05-15 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC Caratteristiche: OpenMP

  5. Installa il DevKit se non lo hai già fatto.

  6. Installa la gem rmagick: gem install rmagick --platform=ruby -- --with-opt-lib=c:/ruby192/ImageMagick/lib --with-opt-include=c:/ruby192/ImageMagick/include

Dovrebbe stampare

 Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... 

E dopo pochi minuti se tutto va bene, dovresti vedere

 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... 

E questo è tutto. Spero che questo impedisca a qualcuno di sprecare diverse ore per la frustrazione.

Solo altri due link utili: 1 e 2 se ancora non riesci a installare

Questo è stato un dolore per essere installato. In questo momento, ho dovuto reinstallare Ruby, Rails, Devkit e ImageMagick. La cosa migliore è fare lo stesso e andare con le ultime versioni di tutti tranne Rails, a meno che non sia fantastico con 3.1. In questo momento sto usando le ultime versioni:

 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 

Il mio sistema:

Windows 7, x64

Il mio percorso è leggermente diverso dalla risposta accettata.

La mia c: / ImageMagick

 gem install rmagick --platform=ruby -- --with-opt-lib=c:/ImageMagick/lib --with-opt-include=c:/ImageMagick/include 

Ho installato Ruby prima con tutte le opzioni spuntate, quindi ImageMagick con “opzione percorso associato” e “intestazioni” spuntate.

Quindi imposta facilmente il devkit:

 1) cd c:\DevKit 2) ruby dk.rb init 3) ruby dk.rb install 

Successivamente, all’interno del devkit (c: / devkit) è stato eseguito questo ed è stato installato senza errori:

 gem install rmagick --platform=ruby -- --with-opt-lib=c:/ImageMagick/lib --with-opt-include=c:/ImageMagick/include 

Se hai ancora problemi allora forse questo potrebbe aiutarti, stavo provando questo, ma non ho familiarità con l’impostazione degli ambienti e il funzionamento del Passaggio 5: http://www.waydotnet.com/blog/2010/02/rmagick- on-ruby-1-9-1-i386-mingw32-lavoro-d /

Il passaggio 5 Credo che possa essere cambiato in quello che ho fatto all’interno del Devkit, invece, provalo e buona fortuna!

Sono abbastanza sicuro che incontrerai dei problemi nel tentativo di eseguirlo su Heroku perché RMagick si comporta come una gem per interfacciarsi con le librerie di elaborazione ImageMagick. Anche ImageMagick deve essere installato anche sul computer locale, cosa che non so tu sia in grado di fare su Heroku. L’installazione di ImageMagick contiene la DLL mancante che stai cercando. Lo uso abbastanza frequentemente su un progetto locale. Ecco il link:

http://www.imagemagick.org/script/binary-releases.php?ImageMagick=d1l695sitj9h0vdqs78vgebqc5#windows

Mi consiglia di installare il binario “statico” a 64 bit dal link sopra. Ho avuto un problema o due cercando di utilizzare la versione dll.

Ad ogni modo scaricalo, installalo e aggiungi il tuo percorso C: \ Programmi \ ImageMagick-6.5.6-Q8 (o ovunque sia installato su) alla tua variabile d’ambiente PATH.

Dovresti quindi essere in grado di utilizzare correttamente la tua gem RMagick.

Ti auguro il meglio.

Ho seguito i passaggi su questo post, ma ho ancora un sacco di errori non definiti. Se questo è il tuo caso, potresti provare a installare la versione 32 di imagemagick, nonostante abbia un sistema operativo a 64 bit. Ha funzionato per me. Puoi leggere maggiori informazioni qui: rmagick non crea su Windows 7 errori di riferimento non definiti