ImageMagick - 'CORE\_RL\_magick\_.dll ikke fundet' eller hvordan man installerer RMagick på Windows med Ruby 1.9.2

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg arbejder på en Rail3 app.
Efter at have kæmpet i flere timer og endelig installeret rmagick 2.13.1 perlen uden fejl på win7x64/ruby ​​1.9.2, har jeg kørt ind i en anden fejl. Ja, jeg har hørt, at skinneroplevelser i Windows kunne være smertefulde ...


Jeg bruger carrierwave til at behandle og uploade billeder til AWS S3.
Behandling ser ud


class IconUploader < CarrierWave::Uploader::Base

require 'rmagick'
include CarrierWave::RMagick
... 
process :resize\_to\_fit => [100, 100]
process :convert => :png
...


Når jeg udløser filoploading på min udviklingsmaskine, kaster det mig en windows popup, siger



  CORE\_RL\_magick\_.dll blev ikke fundet



Google var ikke meget nyttigt på dette.


Jeg har min PATH-variabel indstillet til C:/ruby192/ImageMagick - det hvor jeg har installeret ImageMagick til. Og denne mappe har flere CORE\_RL dll'er inklusive magick en. DLL'erne s selv mangler ikke!


irb > require 'rmagick' returnerer true
og convert -version outputs dette:


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


Så jeg har flere spørgsmål.



  1. Hvordan løser jeg dette?

  2. elseif Er der ikke nogen andre ædelstene og/eller grafiske biblioteker, der understøttes af både Windows og Heroku?

  3. else måske er der en måde at konfigurere carrierwave på, ikke at behandle billeder i dev miljø



Indtil videre har jeg prøvet ImageMagick v 6.6.9 32bit dll, som giver CORE\_RL dll fejlen,
64 bit statisk, som ikke har dev headers til at kompilere rmagick perle,
og 64 bit dynamisk, hvilket giver mig tonsvis af undefined reference fejl under perleopsamlingen, hver test, undtagen den første:


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


Tak allesammen.

Bedste reference


Jeg har endelig formået at installere ImageMagick og opbygge RMagick perlen og gøre det hele arbejde. Hooray.


Det ser ud til, at problemet var i selve DLL'en. Da jeg forsøgte at registere det, gav windows mig en god fejl om et problem med dll.


Så min måde at løse alle problemer på er:



  1. Gå her

  2. Download ImageMagick 6.6.1-10 32bit dynamisk eller anden version undtagen den seneste version 6.6.9, som har nogle DLL-problemer

  3. Installer det med muligheder: Tilføj til PATH og udviklingsoverskrifter. Installationssti skal ikke indeholde mellemrum .
    Efter installationen skal det give dig en beskedboks om succesfuld dll-registrering.

  4. I kommandolinjens type konverter-version for at kontrollere om alt fungerer. Det skal skrive noget som: [16]


    Version: ImageMagick 6.6.1-10 2010-05-15 Q16 http://www.imagemagick.org
    Ophavsret: Ophavsret (C) 1999-2010 ImageMagick Studio LLC
    Funktioner: OpenMP [17]

  5. Installer DevKit, hvis du ikke allerede har det. [18]

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



Det skal udskrive


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


Og efter et par minutter, hvis alt går rigtigt, skal du se


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


Og det er det. Håber det sparer nogen fra at spilde flere timer i frustration.


Bare to links, som var nyttige: 1 og 2, hvis du stadig ikke kan installere [19] [20]

Andre referencer 1


Dette var en smerte at få installeret. På nuværende tidspunkt var jeg nødt til at geninstallere Ruby, Rails, Devkit og ImageMagick. Du er bedst sat på at gøre det samme og gå med de nyeste versioner af dem alle undtagen Rails, medmindre du er cool med 3.1. I øjeblikket bruger jeg de nyeste versioner:


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


Mit system:


Windows 7, x64


Min vej er lidt anderledes end det accepterede svar.


Min c:/ImageMagick


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


Jeg installerede Ruby først med alle muligheder markeret, da blev ImageMagick tjekket med 'tilhørende sti-option' og 'overskrifter'.


Derefter opstiller du devkit nemt:


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


Derefter gjorde inde i devkit (c:/devkit) dette og det blev installeret uden fejl:


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


Hvis du stadig har problemer, kan det måske hjælpe dig, jeg prøvede dette, men jeg er ikke bekendt med at indstille miljøerne og få trin 5 til at fungere: http://www.waydotnet.com/blog/2010/02/rmagick- on-ruby-1-9-1-i386-Mingw32-arbejde-d/[21]


Trin 5, jeg tror, ​​kan ændres til hvad jeg gjorde inde i Devkit i stedet, prøv det og held og lykke!

Andre referencer 2


Jeg er temmelig sikker på at du kommer til at løbe ind i problemer med at prøve at køre den på Heroku også, fordi RMagick fungerer bare som en perle til grænseflade med ImageMagick-behandlingsbiblioteker. ImageMagick skal også installeres på den lokale maskine, som jeg ikke ved du kan gøre på Heroku. ImageMagick-installationen indeholder den manglende .dll du 're after. Jeg bruger det ganske ofte på et lokalt projekt. Her er linket:


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


Jeg anbefaler at installere den 64-bit 'statiske' binære fra linket ovenfor. Jeg har kørt ind i et problem eller to forsøger at bruge dll-versionen.


Anyways download det, installer det og tilføj derefter dine C: \ Program Files \ ImageMagick-6.5.6-Q8 (eller hvor dit er installeret) til din PATH miljøvariabel.


Du skal så kunne bruge din RMagick perle korrekt.


Alt det bedste.

Andre referencer 3


Jeg fulgte trinene på dette indlæg, men fik stadig en ubehandlet fejl. Hvis dette også er tilfældet, kan du prøve at installere 32-versionen af ​​imagemagick, på trods af at du har et 64-bit operativsystem. Det fungerede for mig.
Du kan læse mere om det her: rmagick bygger ikke på Windows 7 udefinerede referencefejl