青いの

睡眠に関するあれこれや、技術メモ、ゲームの感想、その他いろいろ。

libv8とtherubyracer入らない問題にわたしもハマったメモ

つまづきまくって半泣きで1日無駄にしたのでメモだよ。

 

参考:therubyracer 0.11.0 問題まとめ - 自称すーじー。

 

■原因

 

上記エントリで詳しく説明してくださっていますが、つまり therubyracer と libv8 というふたつのgemの依存関係/相性の問題のようです。

環境によって、ちゃんと動くtherubyracerを選択してあげること&そのtherubyracerが必要としてるversionのlibv8を入れてあげることが必要になります。

 

 

■で、どれを選べばいいの

・自分の環境をチェック
$ ruby -rubygems -e 'puts Gem::Platform.new(RUBY_PLATFORM)'
x86_64-darwin-11 #こんな風に出てきました。これだー

 

・環境と照らしあわせて選ぶ

めちゃ便利な表にまとめられていました、ハラショー!

CPUOSOS Versionlibv8therubyracer
amd64 freebsd 8 3.3.10.4 0.10.2
9
x86 darwin 10
11
linux
freebsd 9 3.11.8.3 0.11.0
x86_64 darwin 10
11 3.3.10.4 0.10.2
12 3.11.8.3 0.11.0
13 3.16.14.3 0.12.1
linux 3.11.8.3 0.11.0

参考:https://github.com/cowboyd/libv8/issues/62#issuecomment-11410890

※最下行は元の表になかったためこちらで調べて追加しています

 

わたしの場合 x86_64 - darwin - 11 なので7行目ですね。

libv8 の 3.3.10.4 と、therubyracer の 0.10.2 です。

これを入れましょう。

$ gem install libv8 -v '3.3.10.4' -- --with-system-v8

※V8エンジンというのも入れるオプションつきなので長いけどがんばりましょう

$ gem install therubyracer -v '0.10.2' -- --with-v8-dir

確認

$ gem list libv8

*** LOCAL GEMS *** libv8 (3.3.10.4)
$ gem list therubyracer

*** LOCAL GEMS *** therubyracer (0.10.2)

やったー入ったー