Установка Ruby On Rails в ОС FreeBSD - Ошибка в libv8 - PullRequest
3 голосов
/ 01 марта 2012

Я использую ОС FreeBSd, когда я пытаюсь установить libv8,

gem install libv8

выдает ошибку ...

Building native extensions.  This could take a while...
ERROR:  Error installing therubyracer:
ERROR: Failed to build gem native extension.

        /usr/local/bin/ruby18 extconf.rb
*** 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
    --without-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=/usr/local/bin/ruby18
extconf.rb:13: uninitialized constant Gem (NameError)
Checking for Python...


extconf.rb:13: uninitialized constant Gem 

Я включил

gem 'therubyracer'
gem 'libv8', '3.3.10.4'

в файле gem ..

1 Ответ

2 голосов
/ 02 марта 2012

Это может произойти в Ruby 1.8.7, который не включает в себя рубиновые самоцветы, как 1.9.x. В github есть обновление здесь: https://github.com/fractaloop/libv8/blob/master/ext/libv8/extconf.rb

Но этого, похоже, нет в опубликованном жемчужине в настоящее время. Это должно быть таким же простым, как установка:

gem 'libv8', :git => 'git://github.com/fractaloop/libv8.git'

Но, посмотрев на источник, он динамически связывает версию gem с версией библиотеки v8, и когда я попробовал ее, не удалось, заявив, что это версия 0.0.4. Я использую другую ОС, поэтому попробуйте и посмотрите, работает ли она для вас.

...