web-dev-qa-db-ja.com

OSX 10.11 El Capitanにrubyracer gemをインストールします

bundle installMake sure that `gem install therubyracer -v '0.12.1'` succeeds before bundlingで失敗します

gem install therubyracer -v '0.12.1'は、コンパイルに関連すると思われるエラーで失敗します

これに先立ち、libv8 gemには問題がありましたが、次のSO投稿のおかげでインストールされました。

Mavericks のrubyracerを修正するためのガイドは、El Capitanの変更により機能しないようですか?

ln: /usr/bin/cpp: Operation not permitted 
23
xxjjnn
  1. アプリストアからXcodeをインストールする
  2. Xcode用の「コマンドラインツール」をインストールします(xcode-select --install
  3. Rbenvを使用している場合は、Rubyをインストールした後にrbenv rehashが必要でした
  4. gem install bundlerを実行してエラーが発生したと仮定して、混乱を解消します。

    gem uninstall libv8
    gem uninstall therubyracer
    brew rm v8
    
  5. Gcc4.2をインストールする

    brew tap homebrew/dupes
    brew install Apple-gcc42
    
  6. V8をインストール

    brew tap homebrew/versions
    brew install v8-315
    brew link --force v8-315
    
  7. Gemをインストールする

    gem install libv8 -- --with-system-v8
    gem install therubyracer
    

    dyld: lazy symbol binding failed: Symbol not foundを取得した場合、@ rpbaltazarは代替案を提案します。

    bundle config --local build.libv8 --with-cxx=/usr/local/bin/g++-4.2
    bundle install
    
89
xxjjnn

@xxjjnnの答えにはまだ問題がありました。 github からの次の回答で解決しました。現在の設定:El Capitan 10.11.4およびXcode 7.3。

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
49
Phil Tran

answertherubyracer Githubページで提供されているものは私のために働いた:

brew tap homebrew/versions
brew install v8-315
brew link --force v8-315
gem install libv8 -- --with-system-v8
gem install therubyracer
10
Jan Klimo

私はこの質問がtherubyracer -v '0.12.1'のインストールに関するものであることを知っていますが、解決策は '0.12.2'

私はいくつかのプロジェクトでこれに苦労してきましたが、常にそれを忘れています。その後、最終的に私は覚えており、それはすべて動作します。

bundle configで不要になったら、bundle config --delete build.libv8に追加したものをすべて削除してください。

これに関するgemリポジトリのスレッドは次のとおりです。 https://github.com/cowboyd/therubyracer/issues/398#issuecomment-238161167

2
equivalentideas

(読みやすくするためにコメントとして投稿していますが、これは元の受け入れられた回答へのアドオンである必要があります)

受け入れられた回答を実行した後、コメントに記載されているエラーに直面していました。

私にとって役立つとわかった解決策は、次を実行していました

gem uninstall libv8
gem uninstall therubyracer
bundle config --local build.libv8 --with-cxx=/usr/local/bin/g++-4.2
bundle install

受け入れられた答えの最初のステップ、つまりコンパイラのインストールが必要であることに注意してください。

2
rpbaltazar

実際、Apple-gcc42はbrewから削除されます:

Apple-gcc42は、bcba321eaのコミットでhomebrew/coreから削除されました。

代わりに、[email protected]をインストールしたので、 xxjjnn answer に従って、5ではなく単に実行します。

brew install [email protected]
1
Andrew

最初にGemfile.lockを削除して、bundle installを再度実行してください。 Gemfile.lockが再び作成されます。

これは、El Capitanのほとんどの場合に機能します。

それなしでは、Gemfile.lockに記載されているのと同じバージョンがインストールされます。このファイルを削除すると、bundle installはgemの最新バージョンを取得します。

1
Sven R.

Gem therubyracerを0.12.2に更新し、Railsリポジトリでこのコマンドを実行しました:

$ brew install v8-315
$ bundle config --local build.libv8 --with-system-v8
You are replacing the current local value of build.libv8, which is currently nil
$ bundle config --local build.therubyracer --with-v8-dir=$(brew --prefix v8-315)
You are replacing the current local value of build.therubyracer, which is currently nil

そして最後に

bundle install
0
anquegi

上記のいずれもうまくいかない場合は、この人のアドバイスに従ってください。関連するすべてをアンインストールし、gccをアップグレードすると、修正されました。

gerub install therubyracer -v '0.11.4'?

0
don.najd