2010-12-01 114 views
1

我決定下載源代碼並在本地進行編譯,然後運行sudo make install如何安裝ImageMagick

但是,當我嘗試運行'哪個ImageMagick'命令時,我看不到路徑返回到命令行。

我想讓ImageMagick和Paperclip(適用於Rails 3)很好地一起玩,但是無法正確安裝它 - 回形針似乎不起作用。我一直Rails中得到的錯誤,當我做了以下has_attached_file :image, :styles => { :thumb => "64x64" }Image Paperclip::CommandNotFoundError

從sudo的輸出使安裝過大,所以我張貼在Github這裏:https://gist.github.com/723339

回答

5

的ImageMagick沒有提供命名ImageMagick二進制代替它具有12個binarys命名爲:animatecomparecompositeconjureconvertdisplayidentifyimportmogrifymontagestream

其從該安裝日誌被安裝,重要的一個:convert安裝在/usr/local/bin/convert

convert是回形針使用該一個和希望它是對PATH作爲線的https://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/thumbnail.rb 61讀取

替換convert/usr/local/bin/convert在該行會修

+0

好的......現在我的第61行看起來像這樣:`成功= Paperclip.run(「/ usr/local/bin/convert」,parameters,:source =>「#{File.expand_path( src.path)} [0]「,:dest => File.expand_path(dst.path))`我試過了,它不起作用。另外,如果我想執行`:styles => {:medium => {200x200}}`我還需要編輯另一個文件嗎?通過不起作用,我的意思是它給了我同樣的錯誤,而不是調整文件的大小 - 第61行的變化。 – marcamillion 2010-12-01 11:48:43

3

爲什麼不稍微慢下來:

  • 由於@DanD說,ImageMagick的安裝結果就像convertstream等來自終端的一系列二進制文件,你可以檢查它們是否在你的PATH做:

    %,其中轉換 %,其中流 %,其中比較

如果您已經安裝工作您所安裝的位置是在你的PATH然後你會看到其中的可執行文件位於returne目錄d通過which命令(在您的情況下它看起來應該是/usr/local/bin

  • 如果您遇到的問題在這裏,但認爲構建是好的,然後通過執行來看看您的路徑:

    %回聲$ PATH

的位置輸出當你在類似的命令(如lsconvert或類似的東西)鍵入命令的名稱(沒有絕對路徑)時查看的地方。現在

export PATH=$PATH:/usr/local/bin 

,在建設事方面:如果/usr/local/bin是不是有你的情況,你可以通過編輯~/.profile~/.bash_profile文件,並在您喜歡的文本編輯器添加以下行您的個人資料添加:

  • 是否有配置步驟(即在make之前運行的東西)?如果是這樣,請確保您選擇了正確的選項。

  • 要確保你能正確地構建它爲什麼不盡量做到第一(只是make),然後測試(make test如果存在這種規則),然後,如果一切都在良好的狀態做你make install

至於其他的想法:

  • 如果您是Mac上的唯一用戶,爲什麼不能在用戶空間的地方安裝它,這樣你可以更容易地看一看什麼是安裝而比傾銷到〜/ usr/local`?

  • 您也可以通過MacPorts進行安裝。我知道不是每個人都喜歡這個系統,但是一旦安裝了Macports系統,安裝ImageMagic可以像port instal ImageMagick一樣簡單。 Macports將默認安裝(和任何相關的依賴項)在/opt,所以如果你按照上面描述的方式走這條路線,你可能需要添加/opt/local/bin到你的PATH。 MacPorts的其他替代品是finkHomebrew,但我不太熟悉。