Я пытаюсь установить libv8 3.16.14.3, но получаю ошибку на OSX Mavericks, используя последние стабильные версии rvm и ruby-1.9.3-p125.
Это результат выполнения команды 'gem install libv8':
~/src(branch:master) » gem install libv8
Fetching: libv8-3.16.14.3.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing therubyracer:
ERROR: Failed to build gem native extension.
/Users/me/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb
creating Makefile
Compiling v8 for x64
Using python 2.7.5
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Using compiler: g++
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
libtool: unrecognized option `-static'
libtool: Try `libtool --help' for more information.
make[1]: *** [/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/libpreparser_lib.a] Error 1
make: *** [x64.release] Error 2
/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:36:in `block in verify_installation!': libv8 did not install properly, expected binary v8 archive '/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a'to exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound)
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `each'
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `verify_installation!'
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:26:in `install!'
from extconf.rb:7:in `<main>'
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
-Ibuild/standalone.gypi --depth=. \
-Dv8_target_arch=x64 \
-S.x64 -Dv8_enable_backtrace=1 -Dv8_can_use_vfp2_instructions=true -Darm_fpu=vfpv2 -Dv8_can_use_vfp3_instructions=true -Darm_fpu=vfpv3
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/atomicops_internals_x86_gcc.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/cached-powers.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/conversions.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/diy-fp.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fast-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fixed-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/once.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparse-data.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser-api.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/scanner.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/strtod.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/token.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/unicode.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/utils.o
LIBTOOL-STATIC /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/libpreparser_lib.a
Gem files will remain installed in /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3 for inspection.
Results logged to /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/gem_make.out
источник
--with-system-v8
FTW!bundle config build.libv8 --with-system-v8
помогает!bundle update
вызволил меня из царства онемения и несчастья,therubyracer
гемом после ее решения: stackoverflow.com/questions/23536893/…Вы можете установить эту версию на Mavericks:
Я могу подтвердить это работает с rbenv и ruby 1.9.3p448
источник
gem install libv8 -- --with-system-v8
Эль Капитан Решение для меня:
Где
REQUIRED_LIBV8_VERSION
для меня был3.16.14.7
, но вам нужно проверить, какой из них вам нужен в вашем комплекте (это был тот для рельсов4.2.5
)Вам также может потребоваться запустить приведенные выше команды как суперпользователь (если ваши гемы и системные библиотеки глобальны)
источник
Когда я попробовал принятый ответ, libv8 успешно установился с
gem install libv8
, ноbundle install
на libv8 произошел сбой. я так думаюbundle install
пытался установить другую версию libv8. Я смог найти решение, которое сработало для меня.Мне нужен был libv8, потому что от него зависит therubyracer. Чтобы установить его, я отметил версию, которую не удалось установить, в
gem_make.out
журнале therubyracer. (Путь кgem_make.out
журналу будет указан в сообщении об ошибке.) В моем случае это было 3.16.14.7. (Эта версия, вероятно, со временем изменится, если вы читаете это через три года.) Тогда я сделал это:gem install libv8 -v 3.16.14.7 -- --with-v8-lib
<- отметьте отличия от принятого ответачто позволило это работать:
gem install therubyracer
что позволило мне завершить мой
bundle install
.Это работало для меня на OSX Yosemite.
источник
https://github.com/cowboyd/therubyracer/issues/339
Решение Джейсонлин, найденное по этой ссылке, помогло мне. все остальное не сработало.
источник
Вы можете настроить упаковщик вместо того, чтобы знать каждую версию. @ 3.15 можно заменить другими версиями.
источник
Я обновился до macOS Catalina @ 10.15 и
ruby 2.6.5
. Через некоторое время получилlibv8
иtherubyracer
установить снова, хотя я бы рекомендовал пока не обновлять macOS (слышалruby
должно быть в порядке).Сначала мне пришлось обновить XCode
xcode-select --install
Я использовал
rbenv
для обновленияruby
и установитьruby
версию вручную/Users/<username>/.rbenv/version
для2.6.5
. Хотя это не должно иметь значения, если ваш проект содержит.ruby-version
файл.Затем я вымыл любую версию я установил сюда
libv8
( как правило , в/usr/local/opt/
):brew uninstall v8
,brew uninstall libv8@3.15
brew install v8@3.15
Теперь, следуя https://github.com/cowboyd/libv8#do-i-get-a-binary , я установил
gem install libv8 -v '3.16.14.19' -- --with-system-v8
а затем может работать
bundle install
без ошибок.источник
Моя проблема с тех пор
therubyracer
, когда обновлениеmacOS 10.15
иruby-2.6.5
И у меня работает следующее:
источник
Попробуйте использовать то, что я суммировал в этом вопросе: "gem install therubyracer -v '0.10.2'" на osx mavericks не устанавливается
У меня это сработало (OS X Mavericks)
источник
У меня была такая же проблема, когда я обновил OSX Mountain Lion до OSX Mavericks. Принятый ответ сработал для libv8, но не тогда, когда я пошел в комплекте установить therubyracer gem.
Обновление с ruby-1.8.7-p354 до ruby-1.8.7-375 помогло мне. libv8 (3.16.14.3-x86_64-darwin-13) и гемы therubyracer (0.12.0) установлены без проблем.
при условии, что вы используете rbenv:
источник
Это работало нормально для меня:
Попробуйте установить этот предварительно скомпилированный гем:
https://dl.dropboxusercontent.com/u/7919548/gems/libv8/libv8-3.11.8.17-x86_64-darwin-13.gem (sha1: 5ce07aaf4085fff5a5e10fe018fd6b22021bef3b)
Или, если вы предпочитаете создавать свои собственные:
Источник: https://github.com/cowboyd/libv8/issues/107
Спасибо Феликсу Бюнеманну за исправление!
источник
Я попробовал несколько решений, описанных в предыдущих ответах, но обнаружил, что работающий пакет (для установки других, отсутствующих гемов) попытается перекомпилировать libv8 (несмотря на то, что он уже успешно установлен с использованием
--with-system-v8
) и, таким образом, страдает от той же проблемы.В конце концов я обнаружил, что удаление гема libv8, извлечение файла гема из rubygems, а затем ручная установка
.gem
файла с--with-system-v8
флагом помогли мне.т.е.
Спасибо Гаураву Агарвалу за ответ, который привел меня на правильный путь!
источник
Ничто из этого не помогло мне ... что бы я ни делал, моя установка gem therubyracer продолжала жаловаться на эту ошибку:
В конечном итоге мне помог этот форум, на который я наткнулся на https://www.bountysource.com/issues/82833405-libv8-fails-to-build-on-catalina-10-15.
Окончательное решение, которое сработало для меня:
Мне пришлось добавить эти строки в мой файл .zshrc:
Затем я должен был выполнить эти команды:
Я надеюсь, что кто-то еще находит это полезным!
источник
Вы можете попробовать вручную скомпилировать и установить gem с помощью метода, упомянутого на сайте libv8 github.
источник
В MAC-Yosemite со средой RVM и версией ruby-2.1.1
gem install libv8 -v 3.16.14.3 -- --with-v8-lib gem install therubyracer
Он работает с помощью вышеуказанной команды, может подтвердить это.
источник
Для меня действительно работало обновление ruby до 2.2.0, удаление Gemfile.lock и повторная сборка.
Работал как шарм!
источник
Это то, что сработало для меня.
заменить
3.16.14.7
на вашу версию.источник
Я столкнулся с подобной проблемой на El Cap. Вот что я сделал.
А потом,
В заключение,
источник
Я использовал бета-версию Xcode для другого проекта и забыл. Вернитесь с помощью
xcode-select
. Что-то вроде:источник
Удалить из Gemfile:
gem 'therubyracer',: platform =>: ruby
источник