Rails和OS X:如何安装rmagick?(Rails and OS X: How to ins

2019-07-17 11:04发布

我已经彻底绝望了-我花了整整一天要安装rmagick宝石到Mac OS X Lion的,但是从字面上它是一个悲剧。 我看到了谷歌很多类似的线程,但没有帮助我。

我试着完全卸载imagemagick通过brew和重新安装(这是运作良好),然后安装rmagick ,但每次当我尝试安装这种宝石的时候,我收到此错误:

Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

        /Users/adam/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config.
checking for clang... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... yes
checking for InitializeMagick() in -lMagickCore... no
checking for InitializeMagick() in -lMagick... no
checking for InitializeMagick() in -lMagick++... no
Can't install RMagick 2.13.1. Can't find the ImageMagick library or one of the dependent libraries. Check the mkmf.log file for more detailed information.

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/adam/.rvm/rubies/ruby-1.9.3-p327/bin/ruby
    --with-MagickCorelib
    --without-MagickCorelib
    --with-Magicklib
    --without-Magicklib
    --with-Magick++lib
    --without-Magick++lib


Gem files will remain installed in /Users/adam/.rvm/gems/ruby-1.9.3-p327/gems/rmagick-2.13.1 for inspection.
Results logged to /Users/adam/.rvm/gems/ruby-1.9.3-p327/gems/rmagick-2.13.1/ext/RMagick/gem_make.out

如果我将通过Gemfile中或通过终端安装宝石没关系,在这两种情况下,我得到了同样的错误输出。

这是该版本imagemagick :ImageMagick的-6.8.0-10。

你能给我请一些提示或提前,其中可能是问题? 非常感谢!

Answer 1:

rmagick具有从自制ImageMagick的(> = 6.8.0-10)工作的问题。

你可以

更新rmagick由宝石

    bundle update rmagick

或手动符号链接一些dylib,使其工作:

    $ cd "`Magick-config --prefix`lib"
    $ ln -s libMagick++-Q16.7.dylib   libMagick++.dylib
    $ ln -s libMagickCore-Q16.7.dylib libMagickCore.dylib
    $ ln -s libMagickWand-Q16.7.dylib libMagickWand.dylib

此后gem install rmagick应该工作。

检查讨论有关此内容的自制/问题/ 16625

更新:感谢@faraz了不错的一行命令:

cd "`Magick-config --prefix`/lib"; ln -s libMagick++-Q8.7.dylib libMagick++.dylib; ln -s libMagickCore-Q8.7.dylib libMagickCore.dylib; ln -s libMagickWand-Q8.7.dylib libMagickWand.dylib


Answer 2:

Mac OSX版塞拉利昂和Rails的5

brew unlink imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force


Answer 3:

我有同样的问题。

如果您检查mkmf.log,你会看到以下错误信息:

ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main() {return 0;}
/* end */\

这是我如何解决它:

  1. 卸载ImageMagick的当前版本:

    brew uninstall imagemagick

  2. 重新安装ImageMagick的不支持OpenMP(这是负责lgomp库):

    brew install imagemagick --disable-openmp

  3. 安装rmagick:

    gem install rmagick

而已!



Answer 4:

如果使用的是自制的,你只需要设置PKG_CONFIG_PATH

brew install imagemagick
PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick//6.8.9-1/lib/pkgconfig/ gem install rmagick


Answer 5:

尝试安装的ImageMagick的6.7.7-6版本,因为版本6.8.x打破了rmagick宝石。

cd /usr/local
git checkout 7d951fb /usr/local/Library/Formula/imagemagick.rb
brew install imagemagick


Answer 6:

2017年,以上建议的所有解决方案似乎没有再工作,因为曾经自制切换到ImageMagick的7.0。

一些解决方法在这里提供。 https://github.com/rmagick/rmagick/issues/256

我只是降级的ImageMagick 6.9.7-3和gem install rmagick工作的罚款。



Answer 7:

我用这一个班轮,当我有安装rmagick,这恰好每一次的问题...

sudo C_INCLUDE_PATH=/usr/local/Cellar/imagemagick/6.8.7-7/include/ImageMagick-6/ PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/6.8.7-7/lib/pkgconfig/ gem install rmagick

确保ImageMagick的版本是正确的 ,你应该是好去。 如果您没有安装ImageMagick的做,做一个brew install imagemagick


不得不张贴此因我守安装此宝石有问题,每一次我忘了如何做到这一点。



Answer 8:

你ImageMagick的安装后,你可以试试

> gem pristine rmagick

从这个线程得到它。 轨Rmagick宝石 。 希望能帮助到你。



Answer 9:

另外,您可以回落到一个较旧版本的ImageMagick的。 这个线程对如何做到这一点的说明:

现在,尝试实际上是我建议你抽取旧瓶子一个到你的酒窖,然后做冲泡链接ImageMagick的,如果你卸载旧版本有用。

他们可以在这里: http://sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.snowleopard.bottle.3.tar.gz/download http://sourceforge.net/projects/ machomebrew /文件/瓶/ ImageMagick的-6.7.7-6.lion.bottle.3.tar.gz /下载 http://sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.mountainlion .bottle.3.tar.gz /下载



文章来源: Rails and OS X: How to install rmagick?