3

正在使用的FreeBSD操作系統,當我嘗試安裝libv8,Ruby on Rails的安裝了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 

我已經icluded

gem 'therubyracer' 
gem 'libv8', '3.3.10.4' 
在寶石文件

..

+0

@shingara你能看到任何問題嗎? – Shanib 2012-03-01 08:42:57

+0

你有沒有在freeBSD上安裝node.js? – shingara 2012-03-01 08:43:58

+0

@ shingara ..沒有它可以做.. – Shanib 2012-03-01 09:00:15

回答

2

這可能發生在Ruby 1.8.7中,它不會像1.9.x那樣自動包含ruby gems。這裏有一個更新github:https://github.com/fractaloop/libv8/blob/master/ext/libv8/extconf.rb

但是,這似乎並沒有在發佈的寶石在這個時候。它應該是因爲安裝這樣那樣容易:

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

但是從看來源,其動態寶石版採用了版本的V8庫的關聯,而當我試了一下,失敗了,說:它是版本0.0.4。我在不同的操作系統上,所以試試看看它是否適合你。

+0

對於其他人來說,execjs可以與其他javascript運行時一起工作。如果你不能使rubyracer/libv8工作,請嘗試使用node.js。這對我使用OpenIndiana/OpenSolaris更容易。 – 2012-03-02 12:26:04

+0

仍然顯示錯誤? – SHANib 2012-03-05 08:54:53