2009-10-07 114 views
12

我在我development.log收到以下錯誤回形針錯誤

[回形針]收到一個錯誤,同時處理:#<回形針:: NotIdentifiedByImageMagickError:/ tmp目錄/ stream28514-0不被認可「識別」命令>

而且我GOOGLE了這個錯誤,我發現通過加入這一行 Paperclip.options,很多人已經解決了這個。[:command_path] =‘在/ usr/local/bin目錄’

但是,即使在添加該行後,我仍然得到相同的錯誤!我試過一切可能!

任何幫助將不勝感激!

問候,

PUNIT

+0

你在使用什麼操作系統?/usr/local/bin只適用於基於Unix的系統。 – Karl 2009-10-07 18:32:30

+0

是的,我在Ubuntu的 – 2009-10-07 18:40:39

回答

11

的Paperclip.options [:command_path]設置爲您的ImageMagick可執行文件的路徑(在這種情況下確定)。嘗試運行which identify並將該選項設置爲返回的目錄。如果該命令不返回任何內容,請確保ImageMagick已正確安裝。

+1

嘿,謝謝你的回覆。 確定退貨/ usr/local/bin 另外我注意到一些奇怪的東西。路徑/ tmp/stream28514-0無效。所以文件沒有被保存。有誰知道這是爲什麼發生? – 2009-10-08 08:54:05

+0

回形針在完成處理後應刪除文件。 你可以嘗試從命令行運行標識嗎?我最近在升級ImageMagick時忘記了之後運行ldconfig時出現了類似的問題。 – tliff 2009-10-08 13:07:52

3

這意味着它無法在您在Paperclip.options[:command_path](在您的案例/usr/local/bin)中指定的位置上找到ImageMagick的可執行文件identify

這tipically由兩個原因造成的:

  1. 這可能是你居然沒有安裝ImageMagick的。
    • SOLUTION:安裝:
      • 對於MAC:sudo port install ImageMagick(安裝二進制釋放)
      • 對於UBUNTU:sudo sudo apt-get install imagemagick
  2. 這可能是位置,其中你安裝的ImageMagick不是/usr/local/bin,而是其他的東西。

    • SOLUTION:找到其安裝,或通過命令:

      which identify(如果標識是電流路徑時,因爲它應該是)

    或通過文件系統的原始查找:

    find/-name identify

總之,對於在Ubuntu這些文件通常的位置應該是/usr/bin

5

這裏是我工作...

我卸載了我從官方網頁安裝的imagemagick。 我重新安裝了它從sudo易於得到安裝ImageMagick的

的話,我也寫Paperclip.options [:command_path] = 「對/正確的/路徑」

這裏的問題是......

時我跑了「它確定」它似乎路徑是「usr/local/bin/identify」 這意味着我應該把它作爲路徑「usr/local/bin」作爲我的路徑。

但它沒有工作!

我驚訝地發現我確定也是在「usr/bin」路徑中。所以我改變了: 「usr/local/bin」到「usr/bin」

就這樣!

+0

我已經安裝了它,但通過'brew升級ImageMagick'重新安裝,爲我解決了它。甚至不需要'command_path'選項 – 2013-02-02 19:17:21

0

USR/bin中的工作我(Fedora 14的核心)

0

嘗試運行在命令行中的識別命令,看看有沒有給你一些錯誤消息。我發現我的服務器缺少一些代理庫。

identify example.jpg 
2

有兩種可能出現的問題:

  1. 難懂的未安裝或損壞
  2. 回形針是無法找到難懂的

讓我們逐一時間:

1.檢查你是否有Image Magick installe d,它是工作

類型:

identify 

在命令行中,它應該工作。如果找不到或者無法正常工作,請安裝Image Magick。這是否解決了它?如果沒有,繼續:

2.幫助回形針找到難懂的

類型:

which identify 

在命令行來獲取路徑識別命令。現在,在production.rb中,將以下行添加到配置塊中:

Paperclip.options[:command_path] = "/usr/bin" 

重新啓動服務器。這應該解決它。