标签: minimagick

Carrierwave,MiniMagick - NoMethodError:nil的未定义方法`size':NilClass

在暂存时,我在通过carrierwave和minimagick上传和调整图像大小时面临以下错误.在当地一切正常.

carrierwave(0.9.0)mini_magick(3.7.0)

irb(main):003:0> PicturePost.create(remote_content_url: 'http://www.imagpress.com/img/slider/slider_1.jpg')
NoMethodError: undefined method `size' for nil:NilClass
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/mini_magick-3.7.0/lib/mini_magick.rb:24:in `choose_processor'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/mini_magick-3.7.0/lib/mini_magick.rb:64:in `mogrify?'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/mini_magick-3.7.0/lib/mini_magick/image.rb:360:in `run_command'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/mini_magick-3.7.0/lib/mini_magick/image.rb:171:in `valid?'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/mini_magick-3.7.0/lib/mini_magick/image.rb:140:in `create'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/mini_magick-3.7.0/lib/mini_magick/image.rb:48:in `read'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/mini_magick-3.7.0/lib/mini_magick/image.rb:111:in `block in open'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/mini_magick-3.7.0/lib/mini_magick/image.rb:110:in `open'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/mini_magick-3.7.0/lib/mini_magick/image.rb:110:in `open'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/carrierwave-0.9.0/lib/carrierwave/processing/mini_magick.rb:260:in `manipulate!'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/carrierwave-0.9.0/lib/carrierwave/processing/mini_magick.rb:176:in `resize_to_fill'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/carrierwave-0.9.0/lib/carrierwave/uploader/processing.rb:85:in `block in process!'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/carrierwave-0.9.0/lib/carrierwave/uploader/processing.rb:81:in `each'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/carrierwave-0.9.0/lib/carrierwave/uploader/processing.rb:81:in `process!'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/carrierwave-0.9.0/lib/carrierwave/uploader/callbacks.rb:18:in `block in with_callbacks'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/carrierwave-0.9.0/lib/carrierwave/uploader/callbacks.rb:18:in `each'
9 levels...
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/carrierwave-0.9.0/lib/carrierwave/uploader/download.rb:65:in `download!'
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/carrierwave-0.9.0/lib/carrierwave/mount.rb:353:in `remote_url='
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/carrierwave-0.9.0/lib/carrierwave/mount.rb:203:in `remote_content_url='
from /home/deploy/apps/staging/blog/shared/bundle/ruby/1.9.1/gems/carrierwave-0.9.0/lib/carrierwave/orm/activerecord.rb:44:in `remote_content_url='
from …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3 carrierwave minimagick

34
推荐指数
2
解决办法
9632
查看次数

Rails错误:未安装ImageMagick/GraphicsMagick

当我在OSX上运行rails应用程序并尝试上传图像时出现此错误.

我有一个"产品"模型,我正在使用Mini_Magick和CarrierWave上传产品的图像.当我在我的ubuntu的笔记本电脑上创建一个产品时,它工作正常,但是当我在我的macbook上执行此操作时,它会抛出错误:

图像无法使用MiniMagick进行操作,也许它不是图像?原始错误:

未安装ImageMagick/GraphicsMagick

我已完成"捆绑安装"命令,一切正常......你知道可能是什么问题吗?

macos ruby-on-rails carrierwave minimagick

28
推荐指数
1
解决办法
2万
查看次数

错误原始错误:未安装ImageMagick/GraphicsMagick

我有一个使用Imagemagick的应用程序,但我不得不重建我的环境,现在当我尝试上传一个头像(这就是我使用Imagemagick的原因)时,它在我尝试添加图像时不断给我以下错误.

Avatar Failed to manipulate with MiniMagick, maybe it is not an image? Original Error: ImageMagick/GraphicsMagick is not installed
Run Code Online (Sandbox Code Playgroud)

我将它安装在包含我的应用程序的文件夹中,但似乎应用程序无法识别安装.有没有办法让应用程序识别minimagick或我是否在错误的地方安装它或我完全关闭.

-UPDATE-

我卸载了minimgick并重新安装,但仍然得到相同的错误,虽然它显示它已安装.这是我的版本......

-imagemagick-6.9.1-6

-ruby 2.2.1p85(2015-02-26修订版49769)[x86_64-darwin14]

-Rails 4.0.10

- 在mac上运行

ruby-on-rails mongoid minimagick

19
推荐指数
4
解决办法
2万
查看次数

未定义的方法裁剪!在轨道3.1.3上使用Carrierwave和MiniMagick

我有一段时间让这个工作,而且仍然是.我会理解它的核心.我正在关注Ryan Bates教程,使用Jcrop和Carrierwave进行裁剪工作.我选择使用MiniMagick,因为即使在我的机器上重新安装ImageMagick和RMagick后,我也会收到一个错误,导致我本地计算机上的rails服务器死机.无论如何切换到MiniMagick修复了我.所以到目前为止,一切都非常好.我生成了不同大小的图像,并且它们已成功上传.但是一旦我尝试裁剪,我就会收到此错误:

undefined method `crop!' for #<MiniMagick::CommandBuilder:0x000001052e4608>
Run Code Online (Sandbox Code Playgroud)

这让我感到困惑,因为我使用的代码与Bates完全相同:

def crop
if model.crop_x.present?
  resize_to_limit(700, 700)
  manipulate! do |img|
    x = model.crop_x.to_i
    y = model.crop_y.to_i
    w = model.crop_w.to_i
    h = model.crop_h.to_i
    img.crop!(x, y, w, h)
  end
 end
end
Run Code Online (Sandbox Code Playgroud)

无论如何,这种作物方法失败了.所以我想,这是一个ImageMagick命令...所以我看了ImageMagick doco,我找不到爆炸的裁剪方法,所以我没试过,然后错误转向:

No such file or directory - /var/folders/dF/dFNM2+Y7FVScn4+OxVHKOU+++TI/-Tmp-/mini_magick20111207-34409-1tnaa07.jpg
Run Code Online (Sandbox Code Playgroud)

无论如何,有些东西对我来说没什么意义,任何帮助都会受到赞赏!谢谢阅读!

ruby-on-rails carrierwave minimagick

17
推荐指数
2
解决办法
8783
查看次数

Carrierwave Error Msg:使用MiniMagick操作失败,也许它不是图像?

我正在将我的应用程序升级到Ruby 1.9上的Rails 3.2.我不得不放弃attachment_fu.Carrierwave似乎是明显的替代品.在这个阶段,我将文件上传到文件系统(还没有云文件).

我在Lion,XCode 4.3.2,安装了命令行工具.运行:

$ brew doctor
# Your system is raring to brew.
Run Code Online (Sandbox Code Playgroud)

我可以在此配置中上传和调整图像大小:

  • 铁轨3.1.4
  • 红宝石1.8.7
  • carrierwave 0.5.8
  • mini_magick 3.4

我可以在新配置中上传图片:

  • 轨道3.2.3
  • 红宝石1.9.3(或1.9.2)
  • 载波0.6.2

(后跟$ bundle update)但调整大小使用mini_magick返回此错误消息:

"File Failed to manipulate with MiniMagick, maybe it is not an image Original Error: MiniMagick::Invalid", where File is the carrierwave uploader.
Run Code Online (Sandbox Code Playgroud)

FileUploader包含:

include CarrierWave::MiniMagick
def store_dir .. end # the shipped default 
process :resize_to_limit => [500, 600]
Run Code Online (Sandbox Code Playgroud)

我的附件类(带mount_uploader :file, FileUploader)是的父Portrait,ReferenceLetter …

ruby-1.9 carrierwave minimagick ruby-on-rails-3.2

13
推荐指数
2
解决办法
1万
查看次数

MiniMagick:从方形图像中剪切圆圈

我需要用MiniMagick转换圆形图像中的方形图像.

我知道有一种方法ImageMagick:

convert -size 300x300 xc:transparent -fill "image.png" -draw "circle 240,90 290,90" -crop 100x100+190+40 +repage circle1.png
Run Code Online (Sandbox Code Playgroud)

我试过翻译:

img.combine_options do |c|
  c.draw "circle 240,90 290,90"
  c.crop "100x100+190+40"
  c.repage.+
end
Run Code Online (Sandbox Code Playgroud)

我得到这个东西,一个黑色圆圈,我的大鼻子作为背景图片:

在此输入图像描述

如果有人知道如何正确翻译...请!!

ruby imagemagick minimagick

11
推荐指数
1
解决办法
1161
查看次数

carrierwave + mini_magick gems =不是图像错误

我正在使用:

- carrierwave 0.6.0
- rails 3.2.1
- mini_magick 3.4
- ruby 1.9.2p290
Run Code Online (Sandbox Code Playgroud)

在图片上传过程中,我想调整上传图片的大小:

(image_uploader.rb)
process :resize_to_fit => [200, 200]
Run Code Online (Sandbox Code Playgroud)

但图片上传后我遇到了一个错误:

1 error prohibited this organization from being saved:
Image image Failed to manipulate with MiniMagick, maybe it is not an image? Original Error: MiniMagick::Invalid
Run Code Online (Sandbox Code Playgroud)

PS.如果我没有调整大小,图像上传工作正常.

PS2.我试着添加config/environment.rb:

require 'rubygems'
require "mini_magick"
Run Code Online (Sandbox Code Playgroud)

但没有成功(仍然没有工作 - 顺便说一下.当使用mini_magick作为宝石时是否需要?)

image-resizing ruby-on-rails-3 carrierwave minimagick

10
推荐指数
1
解决办法
7993
查看次数

由于mini_magick文件w /特殊字符导致watir gem安装错误

我一直在尝试为ruby 2安装watir gem.我完全按照watir书籍安装说明但是一旦watir安装到了mini_magick gem就会出现这个错误

ERROR: While executing gem ... (Errno::EINVAL) Invalid argument - C:/Ruby200/lib/ruby/gems/2.0.0/gems/mini_magick-3.6.0/tes t/files/special! "chars'.gif

有谁知道怎么解决这个问题?我注意到nokogiri有点奇怪,因为无法从ASCII转换为ITF-8.也许这与它有关.谢谢你们

ruby install watir nokogiri minimagick

10
推荐指数
1
解决办法
3570
查看次数

未初始化常量 ActiveStorage::Analyzer::ImageAnalyzer::MiniMagick

我在 Heroku 上的 Rails 应用程序上收到此错误:

\n
NameError: uninitialized constant ActiveStorage::Analyzer::ImageAnalyzer::MiniMagick\n/app/vendor/bundle/ruby/3.0.0/gems/activestorage-6.1.3/lib/active_storage/analyzer/image_analyzer.rb:46:in `rescue in read_image'\n
Run Code Online (Sandbox Code Playgroud)\n

它发生在由 Sidekiq 生成的作业中,ActiveStorage::AnalyzeJob并且每当我尝试将图像上传到我的 AWS 存储(图像未到达我的存储桶)时似乎就会触发。

\n

奇怪的是,我staging在 Heroku 上有一个应用程序的重复版本,它使用相同的配置,并且它不会触发这些错误(图像确实从暂存到达我的存储桶)。

\n

该应用程序的两个版本都使用相同的 gem 和构建包。
\n两个版本都安装了 ImageMagick 6.9.10-23 和 mini_magick 4.11.0。
\n如果我引用提到的类,两个版本都会在控制台显示相同的错误,例如:

\n
$ heroku run rails c -a my-staging-app\nRunning rails c on \xe2\xac\xa2 my-staging-app... up, run.9122 (Free)\nLoading staging environment (Rails 6.1.3)\nirb(main):001:0*  ActiveStorage::Analyzer::ImageAnalyzer\n=> ActiveStorage::Analyzer::ImageAnalyzer\nirb(main):002:0>  ActiveStorage::Analyzer::ImageAnalyzer::MiniMagick\nTraceback (most recent call last):\n        1: from (irb):2:in `<main>'\nNameError (uninitialized constant ActiveStorage::Analyzer::ImageAnalyzer::MiniMagick)\nDid you mean?  MiniMime\n
Run Code Online (Sandbox Code Playgroud)\n

但我不知道为什么登台应用程序在上传到 AWS 时没有遇到错误。

\n …

ruby-on-rails heroku amazon-web-services ruby-on-rails-3 minimagick

10
推荐指数
1
解决办法
1277
查看次数

用Minimagick替换Rmagick后,获取'identify.im6:此图像格式没有解码委托'错误

在我的Rails应用程序中,我刚删除Rmagick并添加Minimagick.Rmagick太重了.Rmagick的情况很好但是在minimagick中我得到以下错误:

MiniMagick::Invalid: `identify /tmp/mini_magick20150518-10411-1qz42x8` failed with error:
identify.im6: no decode delegate for this image format `/tmp/mini_magick20150518-10411-1qz42x8' @ error/constitute.c/ReadImage/544.
from /home/pubudu/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/mini_magick-4.2.4/lib/mini_magick/image.rb:200:in `rescue in validate!'
Run Code Online (Sandbox Code Playgroud)

文件网址:

[8] pry(main)> file.file.file
=> "/home/pubudu/Projects/istockseller/public/store/photos/thpubs/istockseller-13642162-wallhaven-61582.jpg"
Run Code Online (Sandbox Code Playgroud)

我试图运行的代码:

MiniMagick::Image.read(file.file.file).first
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails imagemagick minimagick

9
推荐指数
1
解决办法
1271
查看次数