bundle install
はMake 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
xcode-select --install
)rbenv rehash
が必要でしたgem install bundler
を実行してエラーが発生したと仮定して、混乱を解消します。
gem uninstall libv8
gem uninstall therubyracer
brew rm v8
Gcc4.2をインストールする
brew tap homebrew/dupes
brew install Apple-gcc42
V8をインストール
brew tap homebrew/versions
brew install v8-315
brew link --force v8-315
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
@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
answertherubyracer
Githubページで提供されているものは私のために働いた:
brew tap homebrew/versions
brew install v8-315
brew link --force v8-315
gem install libv8 -- --with-system-v8
gem install therubyracer
私はこの質問が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
(読みやすくするためにコメントとして投稿していますが、これは元の受け入れられた回答へのアドオンである必要があります)
受け入れられた回答を実行した後、コメントに記載されているエラーに直面していました。
私にとって役立つとわかった解決策は、次を実行していました
gem uninstall libv8
gem uninstall therubyracer
bundle config --local build.libv8 --with-cxx=/usr/local/bin/g++-4.2
bundle install
受け入れられた答えの最初のステップ、つまりコンパイラのインストールが必要であることに注意してください。
実際、Apple-gcc42
はbrewから削除されます:
Apple-gcc42は、bcba321eaのコミットでhomebrew/coreから削除されました。
代わりに、[email protected]
をインストールしたので、 xxjjnn answer に従って、5ではなく単に実行します。
brew install [email protected]
最初にGemfile.lockを削除して、bundle install
を再度実行してください。 Gemfile.lockが再び作成されます。
これは、El Capitanのほとんどの場合に機能します。
それなしでは、Gemfile.lockに記載されているのと同じバージョンがインストールされます。このファイルを削除すると、bundle install
はgemの最新バージョンを取得します。
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
上記のいずれもうまくいかない場合は、この人のアドバイスに従ってください。関連するすべてをアンインストールし、gccをアップグレードすると、修正されました。