我在升级Ruby 1.9的我的应用程序的Rails 3.2。 我不得不放弃attachment_fu
。 Carrierwave似乎是显而易见的替代品。 在这个阶段,我上传文件到文件系统(无云的文件,还)。
我是狮子时,Xcode 4.3.2,安装命令行工具。 运行:
$ brew doctor
# Your system is raring to brew.
我可以上传和在这种配置调整图像:
- 3.1.4轨道
- 红宝石1.8.7
- carrierwave 0.5.8
- mini_magick 3.4
我可以上传新构成图像:
- 3.2.3轨道
- 红宝石1.9.3(或1.9.2)
- carrierwave 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.
该FileUploader包含:
include CarrierWave::MiniMagick
def store_dir .. end # the shipped default
process :resize_to_limit => [500, 600]
我的附件类(与mount_uploader :file, FileUploader
)是父母Portrait
, ReferenceLetter
,和其他附件类型的类。 各安装类从继承Attachment
,是:polymorphic => true
,和belongs_to :attachable
(用户),这反过来, has_many :portraits
, :reference_letters
等:as => :attachable
。
这些都不奋力(从carrierwave的已知问题页面的链接):
这是为什么RMagick调用生成分段错误?
我不想手动安装ImageMagick的如下建议:
carrierwave + mini_magick宝石=不是图像误差
我使用的是自制。 帮助将是非常美妙的。 谢谢。
今天是一个具有相同错误的战斗。 这个问题是不是在mini_magick,问题是在代表们的选择在你的ImageMagick
如果你运行
convert -list configure
你应该有这样的事情
Name Value
-----------------------------------------------------------------
...
CONFIGURE ./configure '--with-bzlib=yes' '--with-fontconfig=yes' '--with-freetype=yes' '--with-gslib=yes' '--with-gvc=yes' '--with-jpeg=yes' '--with-jp2=yes' '--with-png=yes' '--with-tiff=yes' '--disable-shared'
CONFIGURE_PATH /usr/local/etc/ImageMagick/
COPYRIGHT Copyright (C) 1999-2012 ImageMagick Studio LLC
...
DELEGATES bzlib djvu fontconfig freetype gvc jpeg jng jp2 lcms lqr openexr png rsvg tiff x11 xml zlib
...
VERSION 6.7.5
但对我来说关键代表们只XML和zlib值
DELEGATES xml zlib
解决的办法是从源代码安装的ImageMagick,并添加PARAMS运行./configure
1. wget http://www.imagemagick.org/download/ImageMagick.tar.gz
2. tar xvfz ImageMagick.tar.gz
3. cd ImageMagick
4. ./configure --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes --disable-shared
5. make
6. sudo make install
7. sudo ldconfig /usr/local/lib
8. run again "convert -list configure" and look at changes
你可以从这里找到MacOS的安装说明http://www.imagemagick.org/script/advanced-unix-installation.php
UPDATE
出于某些原因,系统可以在不JPEG转换库。 为了解决这个问题,你可以使用安装ImageMagick的apt-get或者PPA与所有所需的依赖或试图manualy安装
sudo apt-get install libjpeg62
在这里看到更多信息https://askubuntu.com/questions/211627/how-to-add-support-for-the-jpeg-image-format
UPDATE 2013年1月26日
要安装的libpng
请点击此链接http://www.libpng.org/pub/png/libpng.html ,找到“源代码”块。 复制链接,最新版本
1. wget http://download.sourceforge.net/libpng/libpng-1.5.13.tar.gz
2. tar xvfz libpng-1.5.13.tar.gz
3. cd libpng-1.5.13/
4 ./configure
5. make
6. sudo make install
7. Rebuild imagemagick
另一种方式来获得支持JPEG
1. curl -O http://www.ijg.org/files/jpegsrc.v8c.tar.gz
2. tar zxvf jpegsrc.v8c.tar.gz
3. cd jpeg-8c/
4. ./configure
5. make
6. sudo make install
7. Rebuild imagemagick
2014年2月
我只是碰到了这个问题,并非常兴奋度过我的一天从源代码编译的ImageMagick,但想我会尝试brew update && brew upgrade imagemagick
第一。
==> Upgrading 1 outdated package, with result:
imagemagick 6.8.7-7
有效。
首先确保你的机器有所有的编译器,它需要的工具。
sudo yum groupinstall "Development Tools"
sudo yum install rpmdevtool libtool-ltdl-devel
sudo yum install ImageMagick-devel
文章来源: Carrierwave Error Msg: Failed to manipulate with MiniMagick, maybe it is not an image?