rbenvでインストールしたRubyを使いRailsをインストールしていると、nokogiriのビルドでエラーとなり、その後もrailsコマンドが使用できない問題の記録。
- 実行環境
- OS X El Capitan
- Ruby 2.2.3 (rbenv)
Rails 4.2.3をインストールする。
$ gem install rails --version "4.2.3" --no-rdoc --no-ri
インストールが始まり各種gemをダウンロードしていくが、nokogiriの所でエラーとなる。
・・・ Fetching: mini_portile-0.6.2.gem (100%) Successfully installed mini_portile-0.6.2 Fetching: nokogiri-1.6.6.4.gem (100%) Building native extensions. This could take a while... ERROR: Error installing rails: ERROR: Failed to build gem native extension.
エラーの内容を見ていくと下のような物が・・・
The file "/usr/include/iconv.h" is missing in your build environment, which means you haven't installed Xcode Command Line Tools properly.
コマンドラインツールは入れていたハズだが、とりあえずインストールしてみる。
$ xcode-select --install
インストールのダイアログが表示されるのでインストールをクリック。
すると使用許諾契約が表示されるので同意。
やっとでダウンロードが始まる。
続いてインストール。
コマンドラインツールのインストールが完了。
もう一度Railsをインストールしてみると、いきなりビルドが始まる。どうやら先程エラーになった箇所から再開のようで、コマンドラインツールが原因だったようだ。
$ gem install rails --version "4.2.3" --no-rdoc --no-ri Building native extensions. This could take a while...
しばらくしてnokogiriのインストールが完了し、残ったgemのインストールが始まった。
Successfully installed nokogiri-1.6.6.4 Fetching: rails-dom-testing-1.0.7.gem (100%) Successfully installed rails-dom-testing-1.0.7 Fetching: loofah-2.0.3.gem (100%) Successfully installed loofah-2.0.3
後は何事もなくインストールが完了した。
・・・ 24 gems installed
早速バージョンを確認してみると・・・残念。
$ rails -v Rails is not currently installed on this system. To get the latest vers... $ sudo gem install rails You can then rerun your "rails" command.
各コマンドのディレクトリを調べるとrubyとgemコマンドはrbenvでインストールした物が使われていて問題ないが、railsコマンドは/usr/bin/railsにある事がわかった。実際に呼び出したいrailsコマンドは/Users/user/.rbenv/shims/railsにあるのだからダメな訳である。
$ which ruby
/Users/user/.rbenv/shims/ruby
$ which gem
/Users/user/.rbenv/shims/gem
$ which rails
/usr/bin/rails
そこで/Users/user/.rbenv/shims/railsのコマンドは使えない状態なのではないかと思いrbenvのrehashをしてみると有効になったようだ。
$ rbenv rehash
$ which rails
/Users/user/.rbenv/shims/rails
無事インストールが完了!
$ rails -v Rails 4.2.3
コメント