10

El Capitan (フレッシュ インストール) と Rails 4.2.1 アプリを Ruby 2.2.2 で実行しています。最初に libv8 をインストールする際に問題が発生し、brew install v8 と gem install libv8 (バージョン) をフラグとして systemv8 で強制的にインストールする必要がありました。バンドルは正常に機能し、すべての gem 依存関係をインストールします。

しかし、アプリサーバーをロードrails sまたは起動しようとすると、次のエラーが発生します。bundle exec thin start

dyld: lazy symbol binding failed: Symbol not found: __ZN2v82V821AddGCPrologueCallbackEPFvNS_6GCTypeENS_15GCCallbackFlagsEES1_
  Referenced from: /Users/shakycode/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/therubyracer-0.12.2/v8/init.bundle
  Expected in: flat namespace

dyld: Symbol not found: __ZN2v82V821AddGCPrologueCallbackEPFvNS_6GCTypeENS_15GCCallbackFlagsEES1_
  Referenced from: /Users/shakycode/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/therubyracer-0.12.2/v8/init.bundle
  Expected in: flat namespace

私はグーグルで答えを探していますが、これまでうまくいくものはあまり思いつきませんでした。El Capitan へのアップグレードであった私の他のマシンは問題なく動作しますが、このクリーン インストールは libv8/v8/therubyracer で問題があります。

これをデバッグする方法について何か考えはありますか? コーディングしたい。

4

3 に答える 3

2

私もこの問題を抱えていたtherubyracerので、次のようにアンインストールして再インストールすることで解決しました:

gem uninstall therubyracer
gem install therubyracer -v '0.12.2' -- --with-system-v8

私にとってはlibv8、Gemfile の更新によってトリガーされました。bundle install更新後は問題なく動作しているように見えましたが、コマンドラインで何かをしようとすると、OP と同じエラーが表示されました。

于 2016-02-01T15:43:51.803 に答える