【问题标题】:Error: Could not execute GraphicsMagick/ImageMagick: identify "-ping" "-format" "%wx%h"错误:无法执行 GraphicsMagick/ImageMagick:识别“-ping”“-format”“%wx%h”
【发布时间】:2020-04-23 13:23:37
【问题描述】:

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

无法执行 GraphicsMagick/ImageMagick:识别“-ping”“-format”“%wx%h”“uploads/userPhoto-1499669685192.png”这很可能意味着无法找到 gm/convert 二进制文件size==未定义

但它在本地机器上工作正常,我已经在生产机器上上传了与本地机器相同的模块。

【问题讨论】:

  • 什么版本的 ImageMagick?什么平台?如果是 IM 7,那么您需要将其写为 magick identify -ping -format "%wx%h" yourimage.png。请勿在“%wx%h”以外的任何内容周围加上引号。您是否指定了图像的正确路径?也许您的生产机器在其 PATH 环境变量中没有指向 imagemagick(convert 或 magick)的路径。在 unix 上,它通常是 /usr/bin/convert 或 /usr/bin/local/convert

标签: node.js express gm


【解决方案1】:

根据source code for gm,这个错误发生在spawn(启动进程的函数)返回ENOENT,这是“no entry”的低级错误,意思是在@中没有找到需要的程序987654325@ 对于正在运行的节点进程(我的意思是它可能存在,但您仍然需要检查运行进程的环境)。

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

引用main page for gm

首先下载并安装 GraphicsMagick 或 ImageMagick。

【讨论】:

  • 你能告诉我如何在 ubuntu 16.0.4 上安装 ImageMagick 吗?
  • sudo apt install imagemagick ?或sudo apt install graphicsmagick 替代。
  • 我在 Windows 中遇到了这个问题。我已经下载并上传了,尽管我收到了这个错误
  • 1.5 年后来到这里,因为这对于某些库和包来说仍然是一个问题。您可以通过 brew 轻松安装这些软件包。 brew install imagemagick graphicsmagick.
【解决方案2】:

可能是 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 链接找到更多选项和信息。

【讨论】:

    【解决方案3】:

    这对我有用:

    1. 以管理员身份打开命令提示符,导航到项目文件夹,然后在命令提示符处键入“grunt”。
    2. 如果您收到“grunt 尚未在本地安装到您的项目”的错误消息,请确保已安装 grunt 和 grunt-cli。

    如果您在 Windows 上仍然出现错误,请通过 ImageMagick.exe 重新安装:

    1. 访问http://www.imagemagick.org/script/download.php#windows并下载exe文件。
    2. 在本地计算机上运行它。
    3. 在“选择附加任务”上选择“安装旧版实用程序(例如转换)。
    4. 安装完成后,在 cmd 的项目目录中输入“grunt”。

    【讨论】:

    • 它对我有用。在 Windows PC 上,我没有标记“安装旧版实用程序”。我根据您的指示更正了这个问题,现在它就像魅力一样工作!
    【解决方案4】:

    这是旧的,但我在 Fedora 上没有问题,但在 Ubuntu 上(我正在使用 Travis CI):

    这行不通

     sudo apt-get -y install imagemagick
    

    这行得通:

     sudo apt-get -y install graphicsmagick
    

    【讨论】:

      【解决方案5】:

      如果您安装了 ImageMagick,那么您必须在 Mac 上的 /usr/local/bin 等暴露目录中从您的 magick 二进制文件创建指向 gm 的符号链接 执行此操作应该会有所帮助。

      ln -s /path/to/bin/magick /path/to/bin/gm
      

      gm 应该放在暴露给终端的路径中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-05
        • 2017-11-12
        • 1970-01-01
        • 2015-09-20
        • 2023-04-09
        • 1970-01-01
        • 2011-06-10
        相关资源
        最近更新 更多