RMagick丢失了我试图打开的文件路径的前8个字符

时间:2013-03-20 18:57:47

标签: ruby-on-rails ruby imagemagick rmagick

我在Ruby on Rails应用程序中使用Carrierwave和RMagick。 一切都在开发中很好,但在我的临时环境中,我遇到了一些问题。

我将其跟踪到RMagick似乎存在的问题,丢失了传递给它的部分文件路径。这是我的rails控制台的一些输出

require 'RMagick'
=> true
# Prove the file exists
File.open('/tmp/logo.png')
=> #<File:/tmp/logo.png> 
# Cant find it with RMagick
Magick::Image::read('/tmp/logo.png').first
=> Magick::ImageMagickError: unable to open file `o.png' @ error/png.c/ReadPNGImage/3698
# Unless I add some characters at the start of my filepath (anything will do)
Magick::Image::read('12345678/tmp/logo.png').first
=>  0x200=>200x100 4634766966517661696x200+100+0 DirectClass 8-bit 6kb 

我已经尝试过挖掘RMagick的源代码,但没有取得多大成功。我希望有人可以建议可能出错的地方。

我尝试重新编译ImageMagick并多次重新部署代码 我们使用rvm,Ruby 1.9.2,Rails 3.2.11并使用Capistrano进行部署。

1 个答案:

答案 0 :(得分:1)

我的同事找到了解决方案 -

重新安装rmagick gem。