gm convert:此图像格式没有解码委托
gm convert: No decode delegate for this image format
我在 AWS EC2 实例上遇到以下错误(我特别指出,因为我在 Mac 上没有遇到此问题):
Error: Command failed: gm convert: No decode delegate for this image format (/tmp/5c5830319d29e4678e8691cd-1549705844271.jpg)
该文件确实存在,以防看起来有嫌疑。
我的 gm 配置如下:
[mw-user@mwServer ~]$ gm version
GraphicsMagick 1.3.31 2018-11-17 Q8 http://www.GraphicsMagick.org/
Copyright (C) 2002-2018 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.
Feature Support:
Native Thread Safe yes
Large Files (> 32 bit) yes
Large Memory (> 32 bit) yes
BZIP no
DPS no
FlashPix no
FreeType no
Ghostscript (Library) no
JBIG no
JPEG-2000 no
JPEG no
Little CMS no
Loadable Modules no
OpenMP yes (201511)
PNG no
TIFF no
TRIO no
UMEM no
WebP no
WMF no
X11 no
XML no
ZLIB yes
Host type: x86_64-pc-linux-gnu
Configured using the command:
./configure
Final Build Parameters:
CC = gcc
CFLAGS = -fopenmp -g -O2 -Wall -pthread
CPPFLAGS =
CXX = g++
CXXFLAGS = -pthread
LDFLAGS =
LIBS = -lz -lm -lpthread
我正在使用节点模块:
var gm = require('gm');
gm("/tmp/5c5830319d29e4678e8691cd-1549705844271.jpg")
.resize(450, null)
.write("/tmp/5c5830319d29e4678e8691cd-1549705844271-Resized.jpg", (function(err){
if (err) {
console.log(err);
}
}));
我对 gm 的了解还不够,无法从这里转到任何地方。问题似乎是我没有 JPEG 的 "converter"。问题是 - 如何设置它以支持大多数图像格式,如:jpg、png 等?
提前致谢!
你没有说 OS 你的实例是什么 运行,但基本上 GraphicsMagick[=28] 似乎没有 JPEG
支持=].
所以你需要找出你的实例使用的包管理器,然后用它来安装 libjpeg
和 libjpeg-dev
包,然后可能重新安装 GraphicsMagick.
您的评论似乎暗示您的问题比您提到的 JPEG 支持更广泛,但答案是一样的。您需要安装
- libTIFF, libTIFF-dev
- libPNG, libPNG-dev
- ...
然后重新安装 GraphicsMagick。
我在 AWS EC2 实例上遇到以下错误(我特别指出,因为我在 Mac 上没有遇到此问题):
Error: Command failed: gm convert: No decode delegate for this image format (/tmp/5c5830319d29e4678e8691cd-1549705844271.jpg)
该文件确实存在,以防看起来有嫌疑。
我的 gm 配置如下:
[mw-user@mwServer ~]$ gm version
GraphicsMagick 1.3.31 2018-11-17 Q8 http://www.GraphicsMagick.org/
Copyright (C) 2002-2018 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.
Feature Support:
Native Thread Safe yes
Large Files (> 32 bit) yes
Large Memory (> 32 bit) yes
BZIP no
DPS no
FlashPix no
FreeType no
Ghostscript (Library) no
JBIG no
JPEG-2000 no
JPEG no
Little CMS no
Loadable Modules no
OpenMP yes (201511)
PNG no
TIFF no
TRIO no
UMEM no
WebP no
WMF no
X11 no
XML no
ZLIB yes
Host type: x86_64-pc-linux-gnu
Configured using the command:
./configure
Final Build Parameters:
CC = gcc
CFLAGS = -fopenmp -g -O2 -Wall -pthread
CPPFLAGS =
CXX = g++
CXXFLAGS = -pthread
LDFLAGS =
LIBS = -lz -lm -lpthread
我正在使用节点模块:
var gm = require('gm');
gm("/tmp/5c5830319d29e4678e8691cd-1549705844271.jpg")
.resize(450, null)
.write("/tmp/5c5830319d29e4678e8691cd-1549705844271-Resized.jpg", (function(err){
if (err) {
console.log(err);
}
}));
我对 gm 的了解还不够,无法从这里转到任何地方。问题似乎是我没有 JPEG 的 "converter"。问题是 - 如何设置它以支持大多数图像格式,如:jpg、png 等?
提前致谢!
你没有说 OS 你的实例是什么 运行,但基本上 GraphicsMagick[=28] 似乎没有 JPEG
支持=].
所以你需要找出你的实例使用的包管理器,然后用它来安装 libjpeg
和 libjpeg-dev
包,然后可能重新安装 GraphicsMagick.
您的评论似乎暗示您的问题比您提到的 JPEG 支持更广泛,但答案是一样的。您需要安装
- libTIFF, libTIFF-dev
- libPNG, libPNG-dev
- ...
然后重新安装 GraphicsMagick。