2011-06-03 62 views
3

我很難讓rmagick在windows上工作。有誰知道如何正確地工作?甚至更好,希望能夠與生產環境兼容,儘管我會盡我所能。你如何讓rmagick在Windows 7 64位上運行rails 3.1和carrierwave?

C:\> gem install rmagick --platform=ruby -- --with-opt-lib=%IMAGE_MAGICK_HOME%/lib --with-opt-include=%IMAGE_MAGICK_HOME%/include 
Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 
ERROR: Error installing rmagick: 
     ERROR: Failed to build gem native extension. 

     c:/ruby192/bin/ruby.exe extconf.rb --with-opt-lib=C:\Program Files (x86)\ImageMagick-6.7.0-Q16/lib --with-opt-include=C:\Program Fil 
es (x86)\ImageMagick-6.7.0-Q16/include 
checking for Ruby version >= 1.8.5... yes 
checking for stdint.h... *** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

Provided configuration options: 
     --with-opt-dir 
     --without-opt-dir 
     --with-opt-include=${opt-dir}/include 
     --with-opt-lib=${opt-dir}/lib 
     --with-make-prog 
     --without-make-prog 
     --srcdir=. 
     --curdir 
     --ruby=c:/ruby192/bin/ruby 
c:/ruby192/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError) 
You have to install development tools first. 
     from c:/ruby192/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp' 
     from c:/ruby192/lib/ruby/1.9.1/mkmf.rb:834:in `block in have_header' 
     from c:/ruby192/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for' 
     from c:/ruby192/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone' 
     from c:/ruby192/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
     from c:/ruby192/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone' 
     from c:/ruby192/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
     from c:/ruby192/lib/ruby/1.9.1/mkmf.rb:276:in `postpone' 
     from c:/ruby192/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for' 
     from c:/ruby192/lib/ruby/1.9.1/mkmf.rb:833:in `have_header' 
     from extconf.rb:193:in `<main>' 


Gem files will remain installed in c:/ruby192/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1 for inspection. 
Results logged to c:/ruby192/lib/ruby/gems/1.9.1/gems/rmagick-2.13.1/ext/RMagick/gem_make.out 
+0

有什麼麻煩? – Zabba 2011-06-03 22:02:44

+0

@Zabba:對於devkit,它將無法正確安裝。它需要它無法找到的庫。我試圖下載imagemagick和rmagick並編譯它們,但是當我嘗試編譯rmagick時失敗了。 devkit只是沒有做它我應該做的事情,我不認爲。基本上,'gem install rmagick'不會'正常工作' - 遠離它:/ – 2011-06-03 23:59:35

回答

4

回答這個線程使其在兩個我的電腦的工作:RMagick on Windows

我希望它會爲你工作了!

+0

我做了大部分。我將粘貼錯誤。男人,我希望這更容易。 Rmagick是大多數人想要的東西。我希望devkit默認提供了一些幫助。這對每個人來說都太難了:( – 2011-06-04 00:19:34

+0

終於搞定了,我不知道我做了什麼,它剛開始工作。 – 2011-06-04 01:59:36

0

以供將來參考視頻:我只是用安裝rmagick爲紅寶石2.1 x64的Windows上從reddit的崗位說明書,轉貼如下:


下載從http://rubyinstaller.org/downloads/ Ruby的開發工具包和它解壓。通過做

dk.rb init 

這將創建一個帶有一個config.yml(順便說一句,你的Ruby還必須有來自Rubyinstaller否則開發工具包說,這是行不通的。)

初始化您的devkit您的系統上找到紅寶石的列表,你可以編輯並刪除那些你不關心

dk.rb review 

,以確保前面的步驟順利

dk.rb install 

將DevKit安裝到該Ruby中,完成此操作後,您將能夠編譯本地Ruby擴展。從http://www.imagemagick.org/script/binary-releases.php#windows

下載的ImageMagick(ImageMagick的-6.9.2-3-Q16-x64的dll.exe工作對我來說),以及安裝到不帶空格的路徑。請務必檢查添加應用程序目錄到系統路徑安裝頭和C庫和C++

重新啓動命令行窗口,以確保更改路徑了。

做一個快速設置PATH以確保ImageMagick是PATH中的第一個,否則安裝將失敗(因爲安裝腳本會調用ImageMagick中的convert.exe,但也存在C:\ Windows \ system32 \ convert 。可執行程序)。

運行以下命令行,適當地與ImageMagick的位置您的系統上更換(你還記得它,不能包含空格):

gem install rmagick --platform=ruby -- --with-opt-lib=D:/Tools/ImageMagick-6.9.2-Q16/lib --with-opt-include=D:/Tools/ImageMagick-6.9.2-Q16/include --with-opt-dir=D:/Tools/ImageMagick-6.9.2-Q16 

應該流失了幾分鐘,然後你」再黃金。

順便說一句,只要你打算使用RMagick,你堅持你的PATH中有ImageMagick的。

相關問題