2017-07-11 90 views
2

我試圖找到生產machine.It圖像的尺寸。它返回錯誤。錯誤:無法執行GraphicsMagick/ImageMagick:標識「-ping」「-format」「%wx%h」

Could not execute GraphicsMagick/ImageMagick: identify "-ping" "-format" "%wx%h" "uploads/userPhoto-1499669685192.png" this most likely means the gm/convert binaries can't be foundsize==undefined

但它在本地機器上工作正常,我已經上傳了與本地機器相同的生產機器上的模塊。

+0

什麼版本的ImageMagick?什麼平臺?如果是IM 7,那麼你需要將它編寫爲magick標識-ping -format「%wx%h」yourimage.png。除了「%wx%h」外,不要在其他地方加引號。您是否指定了圖片的正確路徑?也許你的生產機器在PATH環境變量中沒有imagemagick(convert或magick)的路徑。在unix上,它通常是/ usr/bin/convert或/ usr/bin/local/convert – fmw42

回答

4

根據source code for gm,會發生這種錯誤時spawn(功能啓動一個進程)返回ENOENT,這是低級錯誤「無條目」,意思是所需的程序在$PATH未找到用於運行節點進程(我的意思是它可能存在,但你仍然需要檢查運行進程的環境)。

所以這是一個簡單的安裝問題所需的組件。本地機器都有它們,但不是你的生產機器。你說你已經「已經上傳了所有模塊」(我認爲你的意思是所有npm模塊),但這還不夠,gm模塊依賴於GraphicsMagick或ImageMagick。從main page for gm

報價:

First download and install GraphicsMagick or ImageMagick.

+0

你能告訴如何在ubuntu 16.0.4上安裝ImageMagick嗎? –

+0

'sudo apt install imagemagick'?或者'sudo apt install graphicsmagick' for the alternative。 – qlown

1

可能實:graphicsmagick/ImageMagick的安裝不正確,下載GraphicsMagick工具或下載ImageMagick的,如果你正在使用Ubuntu,這些命令是有用的。

sudo add-apt-repository ppa:dhor/myway 
sudo apt-get update 
sudo apt-get install graphicsmagick 
sudo apt-get install imagemagick 

我在這裏列出了一些識別命令的例子,以說明它的有用性和易用性。 要開始,讓我們以JPEG格式識別圖像:

$ magick identify rose.jpg 
> rose.jpg JPEG 70x46 70x46+0+0 8-bit sRGB 2.36KB 0.000u 0:00.000 

或者在72 DPI,使用獲得的圖像英寸的打印尺寸:

$ magick identify -format "%[fx:w/72] by %[fx:h/72] inches" document.png 
> 8.5 x 11 inches 

你可以找到更多的選擇以及來自this鏈接的信息。