rcmdnk's blog

The Rapid Rubyist

MavericksにはRuby 2.0.0と1.8.7が入っていて/usr/bin/rubyは2.0 の物になってます。

以前はOctopressでRuby 1.9.3以上が必要だということで、 Lionに入ってたのが1.8.7だけだったのでrvmで 1.9.3をインストールしていました1

Mavericksでは新しいRubyが入ってるので、一回綺麗にするためにも rvmを消して元から入ってるものを使うようにしてみました。

変更手順

rvmのアンインストール

rvmには自分自身をアンインストールするコマンドがあり、 implode及び、seppukuです。 (切腹というと自ら身を引く、と言う感じですが、 implodeって言うとなんか最後にはっちゃけて終わると言う感じで なんとなく逆の意味な感じ。 残念ながら消してしまうのですね、と言う感じを出すには seppukuというのがなんとも。 関係無いですが。)

$ rvm seppuku

などとすればrvm_path(通常~/.rvm)が削除されます。

.bashrc等の設定ファイルにrvmの設定を読み込むような設定を書いてる場合、 ファイルが無いとエラーを吐くような設定なら消しておきます。

# Load RVM into a shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

こんな感じで書いてある場合は、無ければなにもしないので 取り敢えずそのまま残しておいてもOK。 邪魔なら消す。

Xcodeコマンドラインツールをインストール

下に書く様に色々と設定がごちゃごちゃになってたんですが、 どうもxcodeのコマンドラインツールをちゃんと入れてなかったのが問題だった様 (Xcodeの最新版(5.0.1)はApp Storeから導入済み)。

コマンドラインツールは

$ xcode-select --install

でインストール出来ます(ダイアログが出てくるので、インストールを選択)。さらにXcodeをまだ立ち上げてない場合は 一度立ち上げて認証をする作業が必要になりますが、 これもコマンドラインから

$ sudo xcodebuild -license

とすればつらつらとライセンスが出てくるので、読んで 最後にagreeを書き込めばOK。

ちなみにこのインストールでrequire ‘osx/cocoa’が出来ない件も直るかな?と思いましたが、これは別問題の様で駄目でした。

bundlerをインストール

$ sudo gem install bundler

これをすると、今後、/Library/Rubyへパッケージをインストールしていくことになるのですが、 このままだと毎回rootにならないといけないので、 個人PCだからいいかということで、

$ sudo chown -R $USER /Library/Ruby

をしてユーザーで書き込める様に変更しておきます。

これで、octopressのディレクトリに行って 改めて

$ bundle install

をすればrakeコマンドが使える様になります。

以下、色々とやる過程で出てきたエラー。

色々紆余曲折

rvmをアンインストールした段階で、単にrakeを実行

$ rake generate
rake aborted!
cannot load such file -- bundler/setup
.../octopress/Rakefile:2:in `<top (required)>'
(See full trace by running task with --trace)

当然上手くいかない。

bundle installとかしてみると

$ bundle install
/Library/Ruby/Site/1.8/rubygems/dependency.rb:298:in `to_specs': Could not find 'bundler' (>= 0) among 0 total gem(s) (Gem::LoadError)
        from /Library/Ruby/Site/1.8/rubygems/dependency.rb:309:in `to_spec'
        from /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_gem.rb:47:in `gem'
        from /usr/bin/bundle:18

何故かRuby 1.8の方を見に行ってる。 PATH等には設定はないし /System/Library/Frameworks/Ruby.framework/Versions/Current も2.0をちゃんと指している。

$ which ruby
/usr/bin/ruby
$ ls -l /usr/bin/ruby
lrwxr-xr-x  1 root  wheel  76 xx Oct xx:xx /usr/bin/ruby -> ../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
$ ls -l /System/Library/Frameworks/Ruby/framework/Versions/Current
lrwxr-xr-x  1 root  wheel  3 xx Oct xx: /System/Library/Frameworks/Ruby.framework/Versions/Current -> 2.0

この辺、しっかりとは把握してませんが、 xcodeのコマンドラインツールの導入時に色々設定されている様で、 古い設定が残っていた、ということかと思います、多分。。。

段々といっその事クリーンインストールすればよかったんじゃ、と思い始めたり。。。

Sponsored Links
Sponsored Links

« Mac OS X 10.9 Mavericksでのマルチモニタ設定 Mavericksでpythonの環境を作り直し: Homebrew環境もリセット »

}