Я намагаюся встановити наступні версії gem на Mavericks
- libv8 (3.16.14.3)
- therubyracer (0.12.1)
Очевидно, що коштовності rubyracer залежать від libv8.
1) Встановлення libv8
Що таке libv8? Здається, моє невелике дослідження свідчить про те, що це якась бібліотека javascript, яка використовується Google Chrome?
У мене були проблеми з його встановленням, але в цьому чудовому дописі була як моя помилка, так і чітко пояснена відповідь про те, як його обійти.
Тож я встановив libv8
с
gem install libv8 -- --with-system-v8
Я розумію, що це встановлює дорогоцінний камінь, але використовує мою локальну системну установку бібліотеки v8 замість ... версії, яка постачається з самоцвітом? У будь-якому випадку, це було успішно.
2) Встановлення rubyracer
Під час наступного кроку у мене виникли проблеми з установкою therubyracer
gem. Я не зовсім впевнений, що робить цей самоцвіт, просто що це залежність проекту рейок, який я намагаюся зробити bundle install
.
Це видає мені таку помилку:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/jeeves.butler/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
checking for main() in -lpthread... yes
checking for main() in -lobjc... yes
checking for v8.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
--with-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/jeeves.butler/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
--with-pthreadlib
--without-pthreadlib
--with-objclib
--without-objclib
--enable-debug
--disable-debug
--with-v8-dir
--without-v8-dir
--with-v8-include
--without-v8-include=${v8-dir}/include
--with-v8-lib
--without-v8-lib=${v8-dir}/lib
/Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/gems/libv8-3.16.14.3/ext/libv8/location.rb:50:in
'configure': You have chosen to use the version of V8 found
on your system (Libv8::Location::System::NotFoundError)
and *not* the one that is bundled with the libv8 rubygem. However,
it could not be located. please make sure you have a version of
v8 that is compatible with 3.16.14.3 installed. You may
need to special --with-v8-dir options if it is in a non-standard
location
thanks,
The Mgmt
from /Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/gems/libv8-3.16.14.3/lib/libv8.rb:7:in `configure_makefile'
from extconf.rb:32:in `<main>'
extconf failed, exit code 1
Gem files will remain installed in /Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/gems/therubyracer-0.12.1 for inspection.
Results logged to /Users/jeeves.butler/.rvm/gems/ruby-1.9.2-p290/extensions/x86_64-darwin-13/1.9.1/therubyracer-0.12.1/gem_make.out
З того, що я можу зібрати, я вирішив встановити, libv8
використовуючи мою локальну бібліотеку V8 замість того, що було надано libv8
, але тепер, коли локальна установка не може бути знайдена.
- Як перевірити, чи справді встановлений V8, і як його знайти?
- Я спробував кілька зазначених прапорців, здавалося, жоден з них не вказував дорогоцінний камінь у правильний каталог встановлення
- Це може бути окрема тема, але що
extconf.rb
? Я бачив це в декількох місцях. І щоgcc
конкретно він намагається зробити з компілятором?
Дякую!!
РЕДАГУВАТИ:
Я спробував це рішення видалення libv8 та повторної установки через
brew install
. Про це також згадувалося в парі подібних питань. Нещастить.Я також спробував
CC
,CXX
іCPP
змінні оточення , як описано тут , хоча я не думаю , що має якесь - яку дію , як це вже було збирання могоgcc v4.6
компілятора.