Ленивое связывание символов не удалось Ruby Racer

Я запускаю El Capitan (Fresh install) и приложение Rails 4.2.1 с Ruby 2.2.2. Сначала я столкнулся с проблемами при установке libv8 и вынужден был выполнить установку с помощью brew install v8 и gem install libv8 (версия) с systemv8 в качестве флага. Bundle отлично работает и устанавливает все гем-зависимости.

Но когда я иду, чтобы загрузить 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.

Любые мысли о том, как я могу отладить этот? Я хочу закодировать.

3 ответа

Решение

У меня только что была эта проблема, и я решил ее, удалив и переустановив therubyracer вот так:

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

Для меня это было вызвано обновлением libv8 в Gemfile. bundle install после обновления показалось, что он работает без проблем, но каждый раз, когда я пытался что-либо сделать в командной строке, я видел ту же ошибку, что и OP.

Просто переустановка therubyracer у меня тоже не сработала. Полные инструкции:

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

Я столкнулся с аналогичной ошибкой с гемом mini_racer. Я обновил версию с 3.0.1 до 4.0.0 и все заработало. Ошибка сейчас не возникает. В основном это проблема версии. Иногда версия гема несовместима с нашей версией ОС, и может возникнуть эта проблема. Я использовал macOS Sur. Многие старые версии драгоценных камней несовместимы с ним.

Другие вопросы по тегам