badatcode
badatcode

Reputation: 1

Failed to build gem native extension (Windows 10) for installing mini_racer and libv8-node

Tried using bundle exec jekyll serve to generate a website using jekyll and was returned:

Could not find gem 'mini_racer' in locally installed gems. Run bundle install to install missing gems.

So i did bundle install

and got this error:

Fetching gem metadata from https://rubygems.org/........
Resolving dependencies...
Installing libv8-node 18.16.0.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
D:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/libv8-node-18.16.0.0/ext/libv8-node
D:/Ruby32-x64/bin/ruby.exe extconf.rb
creating Makefile
D:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/libv8-node-18.16.0.0/ext/libv8-node/builder.rb:12:in
`build_libv8!': failed to download node 18.16.0 (Libv8::Node::BuilderError)
from
D:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/libv8-node-18.16.0.0/ext/libv8-node/location.rb:30:in
`install!'
        from extconf.rb:15:in `<main>'
==== in
D:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/libv8-node-18.16.0.0/ext/libv8-node
==== running
D:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/libv8-node-18.16.0.0/libexec/download-node

extconf failed, exit code 1

An error occurred while installing libv8-node (18.16.0.0), and Bundler cannot
continue.

In Gemfile:
  mini_racer was resolved to 0.8.0, which depends on
    libv8-node

I've also tried gem install libv8 and was returned:

Fetching libv8-8.4.255.0.gem
Temporarily enhancing PATH for MSYS/MINGW...
WARNING:  libv8-8.4.255.0 ships with a dangling symlink named vendor/depot_tools/cbuildbot pointing to missing vendor/depot_tools/cros file. Ignoring
WARNING:  libv8-8.4.255.0 ships with a dangling symlink named vendor/depot_tools/chrome_set_ver pointing to missing vendor/depot_tools/cros file. Ignoring
WARNING:  libv8-8.4.255.0 ships with a dangling symlink named vendor/depot_tools/cros_sdk pointing to missing vendor/depot_tools/cros file. Ignoring
Building native extensions. This could take a while...
ERROR:  Error installing libv8:
        ERROR: Failed to build gem native extension.

    current directory: D:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/libv8-8.4.255.0/ext/libv8
D:/Ruby32-x64/bin/ruby.exe extconf.rb
creating Makefile
The system cannot find the path specified.

D:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/libv8-8.4.255.0/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 D:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/libv8-8.4.255.0/ext/libv8/builder.rb:39:in `build_libv8!'
        from D:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/libv8-8.4.255.0/ext/libv8/location.rb:24:in `install!'
        from extconf.rb:7:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in D:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/libv8-8.4.255.0 for inspection.
Results logged to D:/Ruby32-x64/lib/ruby/gems/3.2.0/extensions/x64-mingw-ucrt/3.2.0/libv8-8.4.255.0/gem_make.out

I've also tried gem update, which has shown that my gem is updated. Also did winget install ruby-dev, which just returned:

No package found matching input criteria.

Upvotes: 0

Views: 347

Answers (1)

Francis Cho
Francis Cho

Reputation: 1

I use 'therubyracer' to replace the 'mini_racer' and successfully finish the 'bundle install' and 'bundle exec jekyll s' on the Windows system. Hope you take this davice.

Upvotes: 0

Related Questions