在安装了 libv8 的 Windows 上安装 therubyracer语言 - -with-system-v8



我终于在我的窗户上安装了libv8gem install libv8 -- --with-system-v8

现在当我尝试安装Therubyracer时,我得到

gem install therubyracer
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
Building native extensions.  This could take a while...
ERROR:  Error installing therubyracer:
        ERROR: Failed to build gem native extension.
        C:/Ruby193/bin/ruby.exe extconf.rb --with-system-v8
checking for main() in -lpthread... no
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
        --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=C:/Ruby193/bin/ruby
        --with-pthreadlib
        --without-pthreadlib
        --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}/
C:/Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/libv8/location.rb:50:in `configure': You hav
e chosen to use the version of V8 found on your system (Libv8::Location::System::NotFoundError)
and *not* the one that is bundle 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

我想知道的是这条错误消息的真正含义是什么?我也查了一下 https://github.com/cowboyd/libv8#bring-your-own-v8如何安装 v8 的标头?

当我遇到这个问题时,我发现我在开发中不需要这些 gem,因为 rails 用于预编译你的资产,所以我的解决方案非常简单,

宝石文件

gem "rails"
group :production do
  gem 'therubyracer'
end

然后,当您捆绑时运行此命令

$ bundle install --without production

然后微笑着走向生活:D

在Mac上,您可以尝试使用自制软件更新v8库:

gem uninstall libv8
brew install v8
gem install therubyracer

更新:抱歉,没有意识到这是Windows唯一的问题。

@Aalap

我在Windows 7 64位上设置Ruby on Rails Web应用程序时遇到了同样的问题。我遇到了这个解决方案。这有点旧,但解决了问题。此解决方案提供了要安装的"therubyracer"gem 文件和 v8.dll 库。上面的链接上的说明非常清楚。

我安装了"libv8"gem,就像 Periback 在 SO 上的答案一样,当我尝试安装"therubyracer"gem 时,它失败了,错误与您的相同。现在我的 Web 应用程序运行良好,我的"宝石列表"命令显示:

libv8 (3.11.8.13)

红宝石赛车 (0.11.0beta1 x86-mingw32)

希望这有帮助。

最新更新