web-dev-qa-db-ja.com

10.10 Yosemiteにtherubyracer gemをインストールする方法は?

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 
のriドキュメントのインストール0秒後にlibv8のドキュメントのインストールを完了
 1 gem installed 
 
 
 02:05 $ gem rubyracer -v '0.12.1'をインストールします---with-system-v8 
 
 
「-with-system-v8」[.____でネイティブ拡張をビルドします。]これには時間がかかる場合があります... 
エラー:therubyracerのインストールエラー:
エラー:gemネイティブ拡張のビルドに失敗しました。
 
/usr/local/var/rbenv/versions/2.1.2/bin/Ruby extconf.rb --with-system-v8 
-lpthreadのmain()のチェック... yes 
 main()のチェックin -lobjc ... yes 
 v8.hのチェック... no 
 *** extconf.rbが失敗しました*** 
 tのためにMakefileを作成できませんでしたo何らかの理由、おそらく必要な
ライブラリやヘッダーが不足している。詳細については、mkmf.logファイルを確認してください。 
構成オプションが必要な場合があります。
 
提供された構成オプション:
 --with-opt-dir 
 --without-opt-dir 
 --with-opt-include 
 --without-opt-include = $ {opt-dir}/include 
 --with-opt-lib 
- -without-opt-lib = $ {opt-dir}/lib 
 --with-make-prog 
 --without-make-prog 
 --srcdir =。
 --curdir 
 --Ruby =/usr/local/var/rbenv/versions/2.1.2/bin/Ruby 
 --with-pthreadlib 
- -without-pthreadlib 
 --with-objclib 
 --without-objclib 
 --enable-debug 
 --disable-debug 
- -with-v8-dir 
 --without-v8-dir 
 --with-v8-include 
 --without-v8-include = $ {v8-dir}/include 
 --with-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 ruby​​gemにバンドルされているものではありません。しかし、
それが見つかりませんでした。 3.16.14.3と互換性のある
 v8のバージョンがインストールされていることを確認してください。非標準の場所
 
 
ありがとう、
にある場合は、特別な--with-v8-dirオプションが必要な場合があります
 /usr/local/var/rbenv/versions/2.1.2/lib/Ruby/gems/2.1.0/gems/libv8-3.16.14.3/lib/libv8.rbのMgmt 
 
 :7:extconfig.rbからの `configure_makefile '
: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 
91
Nicolas Blanco
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

次に、プロジェクトのgemをバンドルします

これは、10.10(Ruby 2.1.2)で動作する唯一の方法です

68
mmln
gem uninstall libv8
brew install v8
gem install therubyracer
gem install libv8 -v '3.16.14.3' -- --with-system-v8

これは、10.10(Ruby 2.1.2)で動作する唯一の方法です

または、gem install libv8 -v 'XX.XX.XX' -- --with-system-v8 gemのバージョンを追加してみてください:)

248
Wylkon

今回の答えはどれもうまくいきません。私もこれを使用しています:

brew tap homebrew/versions
brew install v8-315

gem install libv8 -v '3.16.14.13' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315

bundle install

Rubyracer Githubの問題で見られます。

それが他の誰かを助けることを願っています。

37
coding addicted

たぶんそれは誰かにとって役に立つでしょうが、therubyracerのインストールに問題がありました(libv8の問題のため)解決策はアンインストール私がインストールしたすべてのlibv8でした。 rubyracerをインストールする

$ gem uninstall libv8
$ gem install therubyracer -v '0.12.0'
Fetching: libv8-3.16.14.7-x86_64-darwin-14.gem ( 57%)
Fetching: libv8-3.16.14.7-x86_64-darwin-14.gem (100%)
Successfully installed libv8-3.16.14.7-x86_64-darwin-14
Building native extensions.  This could take a while...
Successfully installed therubyracer-0.12.0
2 gems installed

これが誰かの助けになることを願っています。

26
Jakub Troszok

これはアップストリームで修正されたようです。私と@aurelsと@Mike Causerと@Juandaでうまくいったのは:

bundle update libv8
12
Martin T.

これはYosemiteとRuby 2.1.5(RVM経由のRuby)で非常にうまく機能しました

gem install libv8 -v '3.16.14.3' -- --with-system-v8

以前は、libv8 gemバージョン3.16.14.3でエラーGem::Ext::BuildError: ERROR: Failed to build gem native extension.が表示されました。

7
Rohan Daxini

rm Gemfile.lockの後、Rubyレーサーに進むことができました

事前:brew install v8を介してv8をインストールしてから、gem install libv8 -v '3.16.14.3' -- --with-system-v8を実行しました

そして、私は10.10ヨセミテを実行しています

6
CloudMagick

私のヨセミテではこれだけが機能します、Ruby 2.1.2:

gem install libv8 -v '3.16.14.3' -- --with-system-v8
brew link --overwrite v8-315 --force
gem install therubyracer -v '0.12.2' -- --with-system-v8
5
aquajach

彼らは、libv8の最新バージョンでこの問題を修正しました。参照: https://github.com/cowboyd/libv8/issues/12

Railsのgithubリポジトリからインストールする必要があります。gemfileに次のような行を追加しましたgem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true

編集:

これは明らかに問題の一部を解決するだけです。新しいバージョンのlibv8をインストールしましたが、今ではrubyracerは他のバージョンを探していますか?まだ調べています。

4
Borromakot

ヨセミテでも同じ問題がありました。私の解決策は、上に表示されるものに似ています。

gem uninstall libv8を使用して、インストールされている可能性のあるものをすべて削除します。

Gemfileにtherubyracerを残しますが、libv8への明示的な参照を削除します。

bundle installを実行します。

その後、libv8は依存関係として正常にインストールされました。

3

2018の回答を更新しました。

私はHigh Sierra、Homebrew 1.6.1を使用しています

brew install v8-315

gem install libv8 -v '3.16.14.13' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/[email protected]/

私のために働いたものです。

クレジットは、彼の 元の回答 に対して@ coding-addictedになります。

2
alexggordon

単純にRubyをアップグレードしようとして何時間も働いた後:

brew install Ruby 

次に、gemファイルに次を追加します。

gem 'libv8'  
gem 'therubyracer' 
1
ashwin tang

これはlibv8との競合が原因で発生しますが、バージョンをrubyracerに割り当てるだけでインストールできます。

gemfileで次を変更します。

gem 'therubyracer'、 '〜> 0.12.1'

バンドルインストールを行います

0
abcd_win

このソリューションは、上記のJakub Troszokのソリューションに続いて、わずかな変更を加えて機能しました

gem uninstall libv8
gem install therubyracer -v '0.12.1'
    Fetching: libv8-3.16.14.19-x86_64-darwin-18.gem (100%)
    Successfully installed libv8-3.16.14.19-x86_64-darwin-18
    Building native extensions.  This could take a while...
    Successfully installed therubyracer-0.12.1
    Parsing documentation for libv8-3.16.14.19-x86_64-darwin-18
    Installing ri documentation for libv8-3.16.14.19-x86_64-darwin-18
    Parsing documentation for therubyracer-0.12.1
    Installing ri documentation for therubyracer-0.12.1
    Done installing documentation for libv8, therubyracer after 0 seconds
    2 gems installed
gem install libv8 -v '3.16.14.17' -- --with-system-v8  (if the libv8 version required for your project is different from the one installed by rubyracer)
bundle install
0
dchhatani

私は次のことをしました

gem install therubyracer

これにより、therubyracer 0.12.1がインストールされ、依存関係がインストールされますlibv8 (3.16.14.7 x86_64-darwin-14)エラーなしでインストールされました。

これは、次の方法でインストールしたRuby 2.1.5を使用して行いました。

CC=/usr/bin/gcc rbenv install 2.1.5

brew upgrade Ruby-buildsを実行した後に実行しました。

Ruby 2.1.5をインストールした後、私も実行しました

gem upgrade --system

rubygems-update 2.4.5を取得するには

0
Chris Beck

私の問題を抱えている可能性のある人に向かって:RVMでRubyバージョンをアンインストールしてから再インストールしました。これは、Rubyをコンパイルするための最新バージョンのxcodeツールで正しい依存関係を使用しているようです。

rvm list
rvm uninstall Ruby-x.x.x
rvm install Ruby-x.x.x
0
colsen

次のコメントに基づいて、私のために働いたもの、

https://github.com/cowboyd/therubyracer/issues/304#issuecomment-62046085

gemfile.lockを削除してから、バンドルインストールを実行することでした

0
tufla