node.js - 错误 : Could not execute GraphicsMagick/ImageMagick: identify "-ping" "-format" "%wx%h"

标签 node.js express gm

我正在尝试在生产机器中查找图像的尺寸。它返回错误。

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

但它在本地机器上运行良好,我已经在生产机器上上传了与本地机器相同的模块。

最佳答案

根据 source code for gm ,当 spawn(启动进程的函数)返回 ENOENT 时会发生此错误,这是“no entry”的低级错误,意味着未找到所需的程序在 $PATH用于正在运行的 Node 进程(我的意思是它可能存在,但您仍然需要检查正在运行的进程的环境)。

所以这是一个简单的所需组件的安装问题。本地机器有所有这些,但不是你的生产机器。你说你“已经上传了所有模块”(我想你的意思是所有 npm 模块),但这还不够,gm 模块依赖于 GraphicsMagick 或 ImageMagick 之一。

引自 main page for gm :

First download and install GraphicsMagick or ImageMagick.

关于node.js - 错误 : Could not execute GraphicsMagick/ImageMagick: identify "-ping" "-format" "%wx%h",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45028710/

相关文章:

javascript - Node JS 异步/等待 Controller 问题

javascript - 从 Express 错误处理中间件而不是 HTML 返回 JSON

node.js - 使用 sequelize 根据 id 更新行的值会产生 404 错误

apache - Node.js 在 Windows 上表现不佳吗,它的基本 I/O 肯定不会比 apache 慢

redirect - 如何在 Node.js + Express 中重定向嵌套 url

node.js - 如何使用 gm 为 Node (graphicsmagick/imagemagick)添加居中文本?

node.js - 类型错误 : Cannot read property 'width' of undefined gm library

javascript - 将鼠标事件广播到使用node.js和socket.io连接的所有 Node

javascript - express js 静态相对父目录

node.js - 使用 multer 何时完成图像上传?