Railsのrmagickをgem install にめっちゃハマった話
プログラミングをするとエラーって付き物なんですけど、ちゃんとエラーメッセージ見たり、どこでつまづいているのか一つずつ紐解いていかないと僕みたいに何回も同じコマンドを打って、先に進めないなんてこともあります。
今回は、rmagickです。
```
sudo gem install rmagick -v '2.16.0'
Building native extensions. This could take a while...
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
current directory: /Users/futamidaiki/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rmagick-2.16.0/ext/RMagick
/Users/futamidaiki/.rbenv/versions/2.3.0/bin/ruby -r ./siteconf20170124-39384-1kqxio4.rb extconf.rb
checking for clang... yes
checking for Magick-config... no
checking for pkg-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for presence of MagickWand API (ImageMagick version >= 6.9.0)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no
Can't install RMagick 2.16.0. Can't find MagickWand.h.
*** 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/futamidaiki/.rbenv/versions/2.3.0/bin/$(RUBY_BASE_NAME)
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/Users/futamidaiki/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/rmagick-2.16.0/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /Users/futamidaiki/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rmagick-2.16.0 for inspection.
Results logged to /Users/futamidaiki/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-15/2.3.0-static/rmagick-2.16.0/gem_make.out
```
こんなエラーが出ている人は、助けになるかもしれないです。
ruby on railsのgem rmagickが一向に入らない時、僕も見返すために書きます。
開発環境
mac os x sierra(バージョン10.12.2)
ruby 2.3.0
Rails 5.0.0.1
こんな感じです。
実際mac os xだとrmagickが入らないことがあるみたいです。
そして今回参考にしたページがこちら
結論から言えば、imagemagickのバージョンが違っただけでした。
brew installの罠
brew install imagemagickすると最新の imagemagick7がインストールされます。
これだとrmagickが入らない。
brew install imagemagick@6にすることで、rmagick用のimagemagickをインストールできます。
間違った対処法
僕はここにたどり着くまで紆余曲折してきました。
- sudo apt-getから実行しなきゃと考え、xcodeをインストールの後finkもインストール
- pkg-configを何度もインストール
- パスの場所が間違っていると勘違いし、何度もパスの場所を指定する
この三つをぐるぐると回っていました。
たまたまfeedlyでqiitaの記事に出会ったので迷路を抜けました。