なにもしていないのにbundle installに失敗する

特に何もした覚えがないのに(←こういう時はたいてい何かやっている)、土日空けで$bundle exec rspec ~~~の実行に失敗した。仕方がないので$ bundle installを実行したところ、以下のようなエラーを吐いてしまった。

$ bundle install
Fetching gem metadata from http://rubygems.org/.......
(中略)
Receiving objects: 100% (521/521), 89.46 KiB | 102 KiB/s, done.
Resolving deltas: 100% (262/262), done.
Using rake (0.9.2.2)
Installing i18n (0.6.1)
(中略)
Installing bson_ext (1.7.0) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb
checking for asprintf()... *** 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/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/bin/ruby
/Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:461:in `try_link0'
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:476:in `try_link'
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:619:in `try_func'
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:894:in `block in have_func'
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in `open'
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in `open'
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
	from /Users/(ユーザー名)/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:893:in `have_func'
	from extconf.rb:3:in `
' Gem files will remain installed in /Users/(ユーザー名)/.rvm/gems/ruby-1.9.3-p125/gems/bson_ext-1.7.0 for inspection. Results logged to /Users/akiyama/.rvm/gems/ruby-1.9.3-p125/gems/bson_ext-1.7.0/ext/cbson/gem_make.out An error occured while installing bson_ext (1.7.0), and Bundler cannot continue. Make sure that `gem install bson_ext -v '1.7.0'` succeeds before bundling.

原因

エラーメッセージ中にあるように、$ ruby-1.9.3-p125を実行してた。しかし、以前使っていたのはruby-1.9.3-p392だった。そのため、以下のようにやったら普通にうまくいった。

$ rvm use ruby-1.9.3-p392
$ bundle install
$ bundle exec rspec ~~~

ちょっとみっともないミスだけれど、忘れないようにメモ。

Pocket
LINEで送る
LinkedIn にシェア

「なにもしていないのにbundle installに失敗する」への2件のフィードバック

  1. ちなみにこの問題が起きた時の根本の原因は、.rvmrcの内容が`rvm use –create ruby-1.9.3`と書かれていたことで、rvm use –create ruby-1.9.3-p193というようにビルド番号(?)を付加することで解決していました。

コメントは停止中です。