由于 libv8,我无法运行“捆绑安装”

1 ruby ruby-on-rails

我在 Windows 10 上运行这个。我正在尝试构建这个存储库(如果 Gemfile 和 Gemfile.lock 有帮助): https: //github.com/huginn/huginn

Error:

C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-7.3.492.27.1/ext/libv8

C:/Ruby24-x64/bin/ruby.exe -r ./siteconf20200209-30680-1j9g8t0.rb extconf.rb

creating Makefile

The system cannot find the path specified.

The system cannot find the path specified.

The system cannot find the path specified.

C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-7.3.492.27.1/ext/libv8/builder.rb:57:in

`setup_python!': libv8 requires python 2 to be installed in order to build, but

it is currently not available (RuntimeError)

from

C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-7.3.492.27.1/ext/libv8/builder.rb:39:in

`build_libv8!'

from

C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-7.3.492.27.1/ext/libv8/location.rb:24:in

`install!'

from extconf.rb:7:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in

C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-7.3.492.27.1 for inspection.

Results logged to

C:/Ruby24-x64/lib/ruby/gems/2.4.0/extensions/x64-mingw32/2.4.0/libv8-7.3.492.27.1/gem_make.out

An error occurred while installing libv8 (7.3.492.27.1), and Bundler cannot

continue.

Make sure that `gem install libv8 -v '7.3.492.27.1' --source

'https://rubygems.org/'` succeeds before bundling.

In Gemfile:

mini_racer was resolved to 0.2.9, which depends on

libv8
Run Code Online (Sandbox Code Playgroud)

无论我用谷歌搜索什么,最重要的答案总是相同的:我都尝试过:

gem install libv8 -v '3.16.14.1' -- --with-system-v8

或者

gem install libv8 -v '3.11.8.13' -- --with-system-v8

gem install libv8 --version '3.11.8.17' on ruby​​ (windows)
libv8 需要安装 python 2 才能构建 - Windows
therubyracer - Gem::Ext::BuildError: 错误: 无法构建 gem 本机扩展

我看到 Gemfile.lock 有这个

libv8 (7.3.492.27.1) 
..... 
mini_racer (0.2.9) 
  libv8 (>= 6.9.411)
Run Code Online (Sandbox Code Playgroud)

所以我假设 Gemfile.lock 导致它安装我不想要的版本。但我不知道如何解决这个问题。

我仍在学习 Ruby,这是我决定开始尝试的第一个大项目。

我的电脑上也有 Python 2。所以我不确定为什么它说它不存在。

Ben*_*ern 5

如果您查看 Gemfile,它会指出 mini_racer gem(这是这里的关键点)是一个可选 gem,因此可能值得将其注释掉并尝试再次捆绑。看看你是否能到达任何地方。

另外,如果 mini_racer 与 therubyracer 类似,则在 Windows 上并不真正需要,因为它内置了 JScript,因此它不需要另一个 javascript 运行时。