【问题标题】:How to solve Failed to manipulate with MiniMagick, maybe it is not an image? Original Error: You must have ImageMagick or GraphicsMagick installed如何解决使用 MiniMagick 操作失败,可能不是图像?原始错误:您必须安装 ImageMagick 或 GraphicsMagick
【发布时间】:2020-01-17 19:18:23
【问题描述】:

在生产中我的代码运行正常,但是当我尝试上传时我的代码在本地回滚

所以我尝试强制更新接受更新上传!这给了我这个错误信息:

EmployeesController#photo_upload 中的 ActiveRecord::RecordInvalid

验证失败:使用 MiniMagick 操作照片失败,可能不是图像?原始错误:您必须安装 ImageMagick 或 GraphicsMagick

因此,基于此,我发现它与 MiniMagick 有关,在我的上传文件中进行了一些测试,我发现如果我评论了这一行:

process resize_to_fill: [100, 100]

问题消失了。问题是我需要将矩形图像加载为方形图像的那条线,因此无需使用每张图片和 CSS。所以我正在寻找一个长期的解决方案

class PhotoUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick

  process resize_to_fill: [100, 100]

  if Rails.env.production?
    storage :fog
  else
    storage :file
  end

  def store_dir
  end

  def extension_whitelist
    %w[jpg jpeg gif png]
  end

end

编辑:

基于几个提到在本地安装 ImageMagick 的 cmets,我进行了研究,因为我的部署是在 Heroku 中,所以它有点不同,但事实证明 Heroku 已经安装了 ImageMagick,所以这显然不是问题。对于那些想要证实的人,请输入:

heroku run identify -version

【问题讨论】:

  • 您是否使用 minimagick 安装了 ImageMagick 或 GraphicMagick?
  • 如果您查看第一行中的mini magick gem docs,他们会解释:MiniMagick “ImageMagick 或 GraphicsMagick 命令行的 ruby​​ 包装器。”所以MiniMagick其实就是ImageMagick和GraphicsMagick
  • 但是 minmagick 会自动安装 ImageMagick 吗?如果没有,那么您必须先安装它。仅仅因为它说它是一个包装器,并不意味着它安装了 ImageMagick 或 Graphicsmagick。在您引用的同一文档中,它在“要求”下说:ImageMagick or GraphicsMagick command-line tool has to be installed.
  • 当然,我一直在研究如何在 gem 中安装 image_magick_cli(每个解释都是针对非 gem 方法,没有考虑 CarrierWave)。还没有弄清楚如何或是否是正确的做法,仍在阅读文档
  • 我也在查看active storage docs,它看起来不错,但该应用程序已经通过 CarrierWave::MiniMagick 加载了许多图像,因此实施更改可能需要一些时间,而没有考虑到一些之前上传的文件可能会在此过程中丢失。

标签: ruby-on-rails local carrierwave minimagick


【解决方案1】:

这个问题我已经有 48 小时了。我想你只需要按照它所说的去做,安装 ImageMagick。假设您使用的是 Mac,我做了brew install imagemagick。我的问题是我试图播种图像数据(作为来自 app/assets/images/ folder locally 的 URL,而那时错误正在弹出。希望它有所帮助。

【讨论】:

    猜你喜欢
    • 2021-12-22
    • 2017-11-12
    • 2017-01-27
    • 1970-01-01
    • 2015-09-20
    • 2016-04-12
    • 2017-03-03
    • 1970-01-01
    • 2015-06-05
    相关资源
    最近更新 更多