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


97

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つの宝石


02:05 $ gem install therubyracer -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()をチェックしています...はい
-lobjcでmain()をチェックしています...はい
v8.hをチェックしています...いいえ
*** extconf.rbが失敗しました***
何らかの理由でMakefileを作成できませんでした。おそらく必要なものがないため
ライブラリーやヘッダー。詳細については、mkmf.logファイルを確認してください。してもいいです
設定オプションが必要です。

提供される構成オプション:
    --with-opt-dir
    --opt-dirなし
    --with-opt-include
    --without-opt-include = $ {opt-dir} / include
    --with-opt-lib
    --without-opt-lib = $ {opt-dir} / lib
    --with-make-prog
    --make-progなし
    --srcdir =。
    --curdir
    --ruby = / usr / local / var / rbenv / versions / 2.1.2 / bin / ruby
    --with-pthreadlib
    --pthreadlibなし
    --with-objclib
    --objclibなし
    --enable-debug
    --disable-debug
    --with-v8-dir
    --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:7:in `configure_makefile 'から
    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に記録された結果。でる

あなたもヨセミテで問題を抱えています:D
Dalorzo

わかった、私は冒険家になりたい:-P
ニコラスブランコ

1
私もこれに問題があるので、brew install v8も試してみましたが、うまく
いき

@sandeliusが私の答えを確認してください
mmln '30 / 07/30

回答:


68
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

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

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


2
おかげで、これはlibv8です。私はtherubyracer gemについて話していました。
Nicolas Blanco

2
これは、therubyracerの問題を回避するために必要なものです
mmln

2
ルールを破ってもかまわない。感謝しきれません。あなたは私にとって巨大なプロジェクトの期限を節約しました。
AKWF、2014年

1
PKG / libv8-3.16.14.7-x86_64版-ダーウィン- 14.gemをインストールし、それは/私のような男貼り付けるだけのコピーのために、私のために働く、私たちは宝石で今あるのをありがとう
クリストフ・デュフール

2
また、Gemfileを使用していてもrubyracerのインストールに問題がある場合は、Gemfile.lockにすでに追加されているlibv8のバージョンが異なることが原因である可能性もあります。追加gem 'libv8', '3.16.14.3'(または手動でインストールしたlibv8の正確なバージョンは何でも)して、bundle update libv8を実行します。これで、rubyracerがインストールされます。
ジョンケアンズ

257
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のバージョンを追加してみてください:)

Mac OS Catalinaのアップデート:

brew tap homebrew/versions
brew install v8@3.15
brew link --force v8@3.15
gem install libv8 -v 'XX.XX.XX' -- --with-system-v8
gem install therubyracer

3
うん、これは奇妙なことなしに役立つものです。libv8エラーが発生している場合でも、これを実行してください!ありがとう。
pjammer 14年

2
うん。これが正しい方法です。特に、最新の10.10コマンドラインツールを使用してルビーを再構築した場合。
Pankaj Tyagi 2014年

3
OS X YosemiteのRuby 2.1.3で私のために働いた。
サラ船

4
これに加えて、Bundlerを使用していてGemfileがある場合は、インストールした最新バージョンに調整する必要がある場合があります。たとえば、私は(OS X Yosemiteで)以下を実行する必要がありgem 'therubyracer', '0.12.1'ました:(バージョンを追加)。次に、Gemfile.lockを削除して実行しましたbundle install。正常に動作します。
paneer_tikka 2015

2
これは、El Capitanでも同様に機能しました。これはもっと簡単で、受け入れられる答えになるはずだと思います。
rcd

42

今回は、どの回答も機能しません。私もこれを使用しています:

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の問題で見られます。

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


これをありがとう。El Capitanでは、依存する宝石の最新バージョンを使用する他のアプローチは機能しません。(この時点でtherubyracerはlibv8の後ろに悲惨です。)
Matt Mitchell

悲しいことに、あなたは正しいです...このエラーは、ルビーのバージョンを変更するたびに私を狂わせています。
コーディング中毒

1
Tap homebrew / versionsは非推奨となったため、これは機能しなくなりました。
mattp

1
実際、gem install therubyracer -- --with-v8-dir=$(brew --prefix v8-315)私にとってはうまくいきます。私のMacのディレクトリは、実際には/usr/local/opt/v8@3.15
Junji Zhi

@JunjiZhi broあなたの解決策は私のために働いた
shubham mishra

26

多分それは誰かにとって有用でしょうが、rubyracerのインストールに問題がありました(libv8に問題があるため)。解決策は、インストールしたすべてのlibv8 をアンインストールすることでした。therubyracerをインストールする

$ 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

これが誰かの役に立つことを願っています。


これは私にはうまくいったようです。ただし、libv8 gemのすべてのバージョンをアンインストールする最良の方法は次のとおりであることを指摘しておきますgem uninstall libv8 -a -x。Rubyバージョンマネージャー(rbenvなど)を使用している場合、これは現在のバージョンのRubyでのみ機能します(それが明らかでない場合)。
xentek 2015年

solutionこの解決策は私にとってうまくいきました-El Capitan 10.11.6、Ruby-ruby 1.9.3p448(2013-06-27リビジョン41675)
sameera207

13

これは上流で修正されたようです。私、@ aurels、@ Mike Causer、@ Juandaでうまくいったのは:

bundle update libv8

7

これは、ヨセミテとRuby 2.1.5(RubyからRVM)でうまく機能しました。

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

以前はGem::Ext::BuildError: ERROR: Failed to build gem native extension.、libv8 gemバージョン3.16.14.3でエラーが発生していました


7

私のヨセミテ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

これだけ解決される問題のためrubyracerをインストールするruby 1.9.3p484rubyracer 0.12.3
マイケルKlishevich

6

あとはルビーレーサーで進めました rm Gemfile.lock

事前:を介してv8をインストールしてからbrew install v8gem install libv8 -v '3.16.14.3' -- --with-system-v8

10.10ヨセミテを実行しています


4

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

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

編集:

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


3

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

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

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

を実行しますbundle install

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


これは私の問題でした。複数のバージョンのlibv8が互いに戦っていました。それらを一掃し、バンドラーに依存関係を解決させることは正しいことでした。
DavidMann10k 2015年

2

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

私はHomebrew 1.6.1のHigh Sierraにいます

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@3.15/

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

クレジットは、元の回答で @ coding-addictedに送られます


1

Rubyのアップグレードを何時間も試した後、うまくいきました:

brew install ruby 

そして以下をgemファイルに追加します:

gem 'libv8'  
gem 'therubyracer' 

1

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

rvm list
rvm uninstall ruby-x.x.x
rvm install ruby-x.x.x

0

私は次のことをしました

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

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

gemfileで以下を変更します。

gem 'therubyracer'、 '〜> 0.12.1'

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



0

この解決策は、上記の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

マイナー変更とは何かを指摘し、それが機能する理由を説明してみてください。4年前の質問に回答しているので、該当するバージョンの詳細も追加する必要があります(その時点では回答が適切ではなかった可能性があります)。
ミハル

0

中毒者の答えをコーディングする上で--with-v8-dir=/usr/local/Cellar/v8@3.15/3.15.11.18_1、の代わりにの代わりにv8のhomebrewのディレクトリを使用するの/usr/local/opt/v8-315がうまくいきました。

これはSummary、brew installコマンドのに表示されbrew install v8-315ます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.