Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 最小误差。未定义的方法';调整大小';_Ruby On Rails_Ruby_Imagemagick_Carrierwave_Minimagick - Fatal编程技术网

Ruby on rails 最小误差。未定义的方法';调整大小';

Ruby on rails 最小误差。未定义的方法';调整大小';,ruby-on-rails,ruby,imagemagick,carrierwave,minimagick,Ruby On Rails,Ruby,Imagemagick,Carrierwave,Minimagick,此错误仅在RubyonRails服务器执行时发生 我尝试通过实现我自己的方法来绕过Carrierwave的调整大小选项,但结果是一样的 当我从命令行运行脚本时(在命令行中我需要“mini_magick”gem)。这一切都完美无瑕 MiniMagick gem似乎安装正确,老实说,我没有办法解决这个问题 某些版本(不确定是否有用): ruby-1.9.3p545 轨道-4.1.1 mini_magick-4.0.1 ImageMagick-6.9.0-0 Q16 感谢您的帮助 -编辑,我正在使

此错误仅在RubyonRails服务器执行时发生

我尝试通过实现我自己的方法来绕过Carrierwave的调整大小选项,但结果是一样的

当我从命令行运行脚本时(在命令行中我需要“mini_magick”gem)。这一切都完美无瑕

MiniMagick gem似乎安装正确,老实说,我没有办法解决这个问题

某些版本(不确定是否有用):

  • ruby-1.9.3p545
  • 轨道-4.1.1
  • mini_magick-4.0.1
  • ImageMagick-6.9.0-0 Q16
感谢您的帮助

-编辑,我正在使用windows 8.1

示例代码:

require 'mini_magick'

filename = 'test.jpg'
image = MiniMagick::Image.open(filename)
image.resize "1000x1000"
image.format "png"
image.write "test.png"
当从cmd执行时,上面的代码可以完美地工作

thumb = MiniMagick::Image.open(i.image.path)
thumb.resize "200*200"
上面的代码片段放置在控制器(创建)中时在RoR中引发错误

或者,直接从carrierwave取消对resize选项的注释会引发完全相同的错误

# version :thumb do
  #   process :resize_to_fill => [200, 200]
# end
还有一点需要注意: 我已禁用minimagicks验证,以找出它当时抛出的错误的原因:

无法使用MiniMagick进行操作,可能不是图像?原始错误:未找到可执行文件:“标识”

我希望这能澄清一些事情

-编辑


我决定将windows作为开发平台,转而使用linux作为开发平台。修复了我的所有问题(事后看来,我的错误可能是由于imagemagick方面缺乏依赖性造成的)。

我最近在以下环境中遇到了类似的问题:

  • Windows 8.1
  • Ruby 2.1.5p273
  • Ruby开发工具包2.1.5
  • 轨道4.2.0.4
  • carrierwave 0.10.0
  • mini_magick 4.0.1
  • ImageMagick6.9.0-Q16安装在C:\ImageMagick-6.9.0-Q16
在RubyMine中的rails控制台中,我会得到:

未找到可执行文件:“标识”

输入两件事后:

filename = 'test.jpg'
image = MiniMagick::Image.open(filename)
其中一个步骤是将C:\ImageMagick-6.9.0-Q16添加到我的Windows路径环境变量中。起初,这没有帮助。但是,在关闭并重新打开RubyMine之后,问题就消失了——我认为这是因为对PATH env var的更改(通过独立的Windows命令提示符完成)不会影响RubyMine IDE环境

未找到可执行文件:“标识”

这是来自MiniMagick()的错误消息。我猜,正如错误消息所说,您的服务器找不到可执行文件“identify”


确保您的ENV['PATH']具有“标识”所在的路径。

我遇到了相同的问题

它在我的本地主机上完美地工作,但在服务器(windows 2012)上,它只作为一个rake任务工作。当在应用程序内部运行时,它会失败

NoMethodError (undefined method `resize' for #<MiniMagick::Image:0x28c3260>):
NoMethodError(未定义的方法#的'resize'):
不幸的是,path变量设置为


我通过在模型中而不是控制器中执行minimagick操作来实现它。。。。糟糕的解决方法。

您没有向我们展示任何示例代码,甚至没有清楚地描述您的问题。您正在尝试调整哪个图像的大小?你是怎么装的?