我已经完全绝望了 - 我花了一整天的时间尝试将rmagick
gem安装到Mac OS X Lion,但实际上这是一个悲剧。
我在Google上看到了许多类似的主题,但没有任何帮助我。
我尝试通过imagemagick
完全卸载brew
并重新安装(这很有效),然后安装rmagick
,但每当我尝试安装此gem时,我收到此错误:
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或通过终端安装gem无关紧要,在这两种情况下我都会得到相同的错误输出。
这是imagemagick
的版本: imagemagick-6.8.0-10 。
你能不能给我一些提示或提前,哪里可能是问题? 非常感谢你!
答案 0 :(得分:73)
rmagick在使用自制软件中的imagemagick(> = 6.8.0-10)时遇到问题。
你可以
通过
更新rmagick
gem
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
应该有用。
更新: 感谢@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
答案 1 :(得分:25)
Mac OSX Sierra& Rails 5
brew unlink imagemagick
brew install imagemagick@6
brew link imagemagick@6 --force
答案 2 :(得分:18)
如果您检查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 */\
卸载当前版本的ImageMagick:
brew uninstall imagemagick
重新安装imagemagick而不支持openmp(这是负责lgomp的库):
brew install imagemagick --disable-openmp
安装rmagick:
gem install rmagick
多数民众赞成!
答案 3 :(得分:7)
如果您使用自制软件,则只需设置PKG_CONFIG_PATH
即可brew install imagemagick
PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick//6.8.9-1/lib/pkgconfig/ gem install rmagick
答案 4 :(得分:5)
尝试安装imagemagick版本6.7.7-6,因为版本6.8.x打破了rmagick gem。
cd /usr/local
git checkout 7d951fb /usr/local/Library/Formula/imagemagick.rb
brew install imagemagick
答案 5 :(得分:4)
截至2017年,上面提出的所有解决方案似乎都不再适用,因为Homebrew已经切换到ImageMagick 7.0。
此处提供了一些解决方法。 https://github.com/rmagick/rmagick/issues/256
我刚刚降级到ImageMagick 6.9.7-3并且gem install rmagick
工作正常。
答案 6 :(得分:3)
当我遇到安装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
。
不得不发布这个因为我一直在安装这个宝石时遇到问题,而且每次我都忘记了怎么做。
答案 7 :(得分:2)
这在卡塔琳娜州为我工作:
brew uninstall imagemagick
brew install imagemagick@6
export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"
brew link --force imagemagick@6
brew install pkg-config
gem install rmagick
答案 8 :(得分:1)
答案 9 :(得分:0)
或者,您可以退回到旧版本的ImageMagick。 This thread有关于如何操作的说明:
现在,为了尝试实际有用,我建议你提取一个 更老的瓶子进入你的酒窖然后酿造链接imagemagick如果 你卸载了旧版本。
他们在这里可用: http://sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.snowleopard.bottle.3.tar.gz/download http://sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.lion.bottle.3.tar.gz/download http://sourceforge.net/projects/machomebrew/files/Bottles/imagemagick-6.7.7-6.mountainlion.bottle.3.tar.gz/download
答案 10 :(得分:0)
这是High Sierra,Mojave和Catalina的修复程序,
brew uninstall imagemagick
brew install imagemagick@6export PATH="/usr/local/opt/imagemagick@6/bin:$PATH"
brew link --force imagemagick@6
gem install rmagick
来源:https://blog.francium.tech/installing-rmagick-on-osx-high-sierra-7ea71f57390d