LoginSignup
29
30

More than 5 years have passed since last update.

Yosemiteでlibv8をインストールする.

Posted at

Railsでbundle installした時,libv8とtherubyracerでエラーが出たので,その時の対処法をまとめてみた.

環境

  • OS
    • OS X Yosemite (10.10.2)
  • Ruby
    • 2.1.0p0
  • Rails
    • 4.0.2
  • Gem
    • 2.2.0

状況

Railsプロジェクトのbundle installを実行した時,なんかのgemでlibv8もしくはtherubyracerがインストール出来ません.
エラー内容はbundle installする前にlibv8かtherubyracerのインストール完了させてから,もう一度bundle installしろと怒られます.

対処法

まず自分のOSのバージョンを次のコマンドを実行して確認します.

$ ruby -rubygems -e 'puts Gem::Platform.new(RUBY_PLATFORM)' - See more at: http://3.1415.jp/d3wpyqjr#sthash.kCD9jw8J.dpuf

私の環境ではx86_64-darwin-14となりました.
次に,下の対応表でOSのバージョンとlibv8とtherubyracerのバージョンを確認します.

CPU OS Version libv8 therubyracer
amd64 freebsd 8 3.3.10.4 0.10.2
amd64 freebsd 9 3.3.10.4 0.10.2
x86 darwin 10 3.3.10.4 0.10.2
x86 darwin 11 3.3.10.4 0.10.2
x86 linux ------- 3.3.10.4 0.10.2
x86 freebsd 9 3.11.8.3 0.11.0
x86_64 darwin 10 3.11.8.3 0.11.0
x86_64 darwin 11 3.3.10.4 0.10.2
x86_64 darwin 12 3.11.8.3 0.11.0
x86_64 darwin 13 3.16.14.3 0.12.1
x86_64 darwin 14 3.16.14.7 0.12.1
x86_64 linux ------- 3.11.8.3 0.11.0

私の場合はOSのバージョンがx86_64-darwin-14だったので,libv8は3.16.14.7のバージョンでtherubyracerは0.12.1のバージョンを選択します.

自分のインストールすべきバージョンが分かったので,次はそのバージョンでインストールをします.
その時にあるオプションも書きます.それが--with-system-v8--with-v8-dirです.
そのオプションも含めたインストール時のコマンドを下に挙げておきます.

$ gem install libv8 -v '3.16.14.7' -- --with-system-v8
$ gem install therubyracer -v '0.12.1' -- --with-v8-dir

これで無事にインストールできると思います!

ただ,それぞれのオプションにどういう意味があるのかを調べていないので調べないといけませんね...

29
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
30