1. ホーム
  2. ruby

[解決済み] 10.10 Yosemite に therubyracer gem をインストールするには?

2022-12-10 20:47:24

質問

Yosemite 10.10でtherubyracer gemをインストールすることができません。

以下はログです。

11:53 $ gem install libv8 -v '3.16.14.3' -- --with-system-v8


ネイティブエクステンションをビルドする際に '--with-system-v8'
これはしばらく時間がかかるかも...
libv8-3.16.14.3のインストールに成功しました。
libv8-3.16.14.3用のドキュメントを解析しています。
libv8-3.16.14.3のドキュメントをインストール中です。
0秒後にlibv8用のドキュメントのインストールが完了しました。
1件のgemがインストールされました。


02:05 $ gem install therubyracer -v '0.12.1' -- --with-system-v8


でネイティブ拡張をビルド。'--with-system-v8'
しばらく時間がかかりそうです...
ERROR: Error installing therubyracer:
    ERROR: gemネイティブ拡張のビルドに失敗しました。

    /usr/local/var/rbenv/versions/2.1.2/bin/ruby extconf.rb --with-system-v8を実行。
lpthreadでmain()をチェック中...yes
lobjcでmain()をチェックする...yes
v8.hをチェック中...no
*** extconf.rbは失敗しました ***
何らかの理由でMakefileを作成できませんでした.
Makefileを作成できませんでした。 詳細は mkmf.log ファイルをご覧ください。 また
設定オプションが必要です。

提供されている設定オプション
    --opt-dir付き
    --opt-dirなし
    --opt-include付き
    --opt-include=${opt-dir}/includeを除く。
    --opt-lib付き
    --without-opt-lib=${opt-dir}/lib
    --メイクプログ付き
    --make-progなし
    --srcdir=.
    --curdir
    --ruby=/usr/local/var/rbenv/versions/2.1.2/bin/ruby
    --pthreadlib付き
    --pthreadlibなし
    --objclib付き
    --objclibなし
    --enable-debug
    -デバッグを無効にする
    --v8-dir付き
    --v8-dirなし
    --v8-include付き
    --v8-include=${v8-dir}/includeを含まない。
    --v8-lib付き
    --without-v8-lib=${v8-dir}/lib
/usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/ext/libv8/location.rb:50:in `configure': システムで見つかった V8 のバージョン (Libv8::Location::System::NotFoundError) を使うことにしたのでしょう。
で、libv8 rubygemにバンドルされているものではない*のです。しかし
というエラーが出てしまいます。
3.16.14.3と互換性のあるバージョンのv8がインストールされていることを確認してください。あなたは
標準的でない場所にある場合、特別な --with-v8-dir オプションが必要かもしれません。
が必要かもしれません。

ありがとうございます。
Mgmtは

    usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/lib/libv8.rb:7:in `configure_makefile' からは?
    from extconf.rb:32:in `'.

extconfは失敗しました、終了コード1

Gemファイルは/usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/therubyracer-0.12.1に検査用にインストールしたままとなります。
結果は /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-14/2.1.0-static/therubyracer-0.12.1/gem_make.out に記録されている。

どのように解決するのですか?

git clone https://github.com/cowboyd/libv8.git
cd libv8
bundle install
bundle exec rake clean build binary
gem install pkg/libv8-3.16.14.3-x86_64-darwin-12.gem #note that libv8 version may change, so tab through files in pkg/, also remember to use the one with version specified

で、プロジェクトのgemsをバンドルするだけです。

10.10 (ruby 2.1.2) では、この方法しかありませんでした。