我知道这个问题早已被提出过很多问题,但没有一个解决方案适合我,我现在真的很绝望。
我正在尝试使用gem安装rMagick来安装侨民。我已经通过自制软件安装了imagick,当我尝试运行gem install rmagick时,我收到了这个错误:
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
/Users/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc-4.2... yes
checking for Magick-config... no
Can't install RMagick 2.13.2. Can't find Magick-config in /Users/tobischweiger/.rvm/gems/ruby-1.9.3-p385@diaspora/bin:/Users/tobischweiger/.rvm/gems/ruby-1.9.3-p385@global/bin:/Users/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin:/Users/tobischweiger/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin
*** 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
--without-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/tobischweiger/.rvm/rubies/ruby-1.9.3-p385/bin/ruby
Gem files will remain installed in /Users/tobischweiger/.rvm/gems/ruby-1.9.3-p385@diaspora/gems/rmagick-2.13.2 for inspection.
Results logged to /Users/tobischweiger/.rvm/gems/ruby-1.9.3-p385@diaspora/gems/rmagick-2.13.2/ext/RMagick/gem_make.out
我对宝石和自制软件不是很有经验,我想知道是否有人可以帮助我。
答案 0 :(得分:21)
在尝试安装gem之前运行它(使用自制软件)。
brew install imagemagick
答案 1 :(得分:15)
这是使用自制软件的破坏性较小的版本,rmagic也不适用于imagemacigk version 7
ImageMagick版本6.4.9或更高版本(6.×.x)。版本7还没有 支持的; ETA 2019年4月(https://github.com/rmagick/rmagick/pull/299)
(来自自述文件)
。你可以从www.imagemagick.org获得ImageMagick。所以使用brew试试这个
brew install imagemagick@6
PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem install rmagick
答案 2 :(得分:4)
我正在使用OS X Lion。
我跑了brew doctor
并看到图像标记已取消关联,因此它告诉我运行brew link imagemagick
。
然后我关闭并重新打开我的终端,一切都很顺利。
答案 3 :(得分:4)
在小牛队,你可以这样做:
brew install pkgconfig
brew uninstall imagemagick
brew install imagemagick
brew link imagemagick
bundle install
这就够了。我想。
答案 4 :(得分:3)
我有一个类似的问题,这对我有用:
$ cd /usr/local/Cellar/imagemagick/6.8.0-10/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
希望这有帮助。
答案 5 :(得分:2)
确保执行以下操作:
$ cd /usr/local/Cellar/imagemagick/6.8.0-10/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
您更改文件名以反映您的版本:您可以通过查看lib文件夹来查看文件名:cd / usr / local / Cellar / imagemagick / VERSION / lib
例如:
ln -s libMagickWand-6.Q16.1.dylib libMagickWand.dylib
等等
答案 6 :(得分:2)
安装RMagick时我们需要检查不同的场景。请检查以下内容并确认:
检查您是否使用旧版本的ruby安装最新版本的RMagick。即红宝石1.8.7左右。您无法使用旧版本的Ruby安装最新版本的RMagick。如果是这样,您可能会收到此错误消息。
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
/Users/user/.rbenv/versions/1.8.7-p375/bin/ruby extconf.rb
确保在安装RMagick之前安装了imagemagick。
brew install imagemagick
还要确保使用兼容版本的imagemagick安装RMagick。 RMagick与最新版本的imagemagick不兼容。
更多信息: 如果您只需要调整大小,锐化,转换现有图像,则可以使用MiniMagick而不是使用RMagick。当我们需要创建图像,图形,绘图和排版时,需要RMagick。与RMagick相比,它更容易使用并且比系统资源轻得多。 RMagick消耗大量内存。
答案 7 :(得分:1)
主要问题似乎是正确安装和链接了imagemagick。
这个页面对我很有帮助:
http://sethvargo.com/20110726/install-imagemagick-on-mountain-lion/
我正在运行自制程序,让brew doctor
命令运行干净是安装它的关键。
答案 8 :(得分:0)
我发现在OSX 1.8.2上将我的Xcode更新到最新版本(4.6.1)修复了这个问题,我成功安装了rmagick-2.13.2
答案 9 :(得分:0)
对我来说,我必须看一下你输出的输出
/Users/tobischweiger/.rvm/gems/ruby-1.9.3-p385@diaspora/gems/rmagick-2.13.2/ext/RMagick
在一个名为mkmf.log
的文件中,它准确列出了它要编译的内容和错误。对我来说,链接器失败了这个命令:
ld: library not found for -lMagickCore
检查它运行的命令看起来不错,除了最后,请看这个片段:
-lMagickCore-6.Q16 -lMagickCore-6.Q16 -lruby-static -framework CoreFoundation -lMagickCore -lpthread -ldl -lobjc -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib/darwin/libclang_rt.osx.a
请注意,它获得了Magick-config
的输出并通过添加-lMagickCore-6.Q16
来使用它们,但仍然尝试链接-lMagickCore
。我认为这是have_library
extconf正在使用的副产品。对我来说很重要的是,Homebrew没有提供libMagickCore.dylib
库。它可能是rubygems的旧版本,我认为正确的修复方法是更新have_library
函数,但我通过创建一个名为libMagickCore.dylib
的符号链接来修复它,该符号链接指向libMagickCore-6.Q16.dylib
。