How install libv8 (therubyracer) Windows 7

Hello, I have a problem when I try to add the gem therubyracer.

I put in my prompt:

bundle install, and this error appears:

C:\rails\organily>bundle install Fetching gem metadata from https://rubygems.org/… Using rake (0.9.2.2) Using i18n (0.6.0) Using multi_json (1.3.6) Using activesupport (3.2.3) Using builder (3.0.0) Using activemodel (3.2.3) Using erubis (2.7.0) Using journey (1.0.3) Using rack (1.4.1) Using rack-cache (1.2) Using rack-test (0.6.1) Using hike (1.2.1) Using tilt (1.3.3) Using sprockets (2.1.3) Using actionpack (3.2.3) Using mime-types (1.18) Using polyglot (0.3.3) Using treetop (1.4.10) Using mail (2.4.4) Using actionmailer (3.2.3) Using arel (3.0.2) Using tzinfo (0.3.33) Using activerecord (3.2.3) Using activeresource (3.2.3) Using bundler (1.2.0.pre.1) Using coffee-script-source (1.3.3) Using execjs (1.4.0) Using coffee-script (2.2.0) Using rack-ssl (1.3.2) Using json (1.7.3) Using rdoc (3.12) Using thor (0.14.6) Using railties (3.2.3) Using coffee-rails (3.2.2) Using jquery-rails (2.0.2) Using libv8 (3.10.8.0) Using mysql (2.8.1) Using rails (3.2.3) Using sass (3.1.19) Using sass-rails (3.2.5) Using sqlite3 (1.3.6) Installing therubyracer (0.8.2) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension .

        C:/Ruby193/bin/ruby.exe extconf.rb mkdir -p build cp -r scons build mkdir -p build/scons/install python build/scons/setup.py install --prefix=install make: python: Command not found make: *** [build/scons/install/bin/scons] Error 127 *** 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 extconf.rb:10:in `<main>': Error compiling V8 (RuntimeError) Compiling V8

Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/therubyra cer-0.8.2 for inspection. Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/therubyracer-0.8.2/ext/v8/ gem_make.out An error occurred while installing therubyracer (0.8.2), and Bundler cannot cont inue. Make sure that `gem install therubyracer -v '0.8.2'` succeeds before bundling.

How can I solve this ?

Thank you.

Hi!

It seems that you need to install Python:

make: python: Command not found

Hello Everaldo, thank you for the answer, but I have installed the Python:

C:\Python27

and this error still there :smiley:

Thank you.

Hi Felipe!

Try this, please:

gem 'therubyracer', :platform => :ruby

I found this on Stack Overflow:

They said that you don't need to install therubyracer on Windows, because the OS already comes with a Javascript Runtime Environment

Best Regards, Everaldo

Maaaaaaaaaaaaaaaaaaaaaan *--* thank you so much... !!!!!

Hi Everaldo, I'm also using Windows 7 and I've had the same problem as Felipe, I tried including gem 'therubyracer', :platform => :ruby in my gemfile but I still cannot start the "rails server" to start, since I get the following error:

[WARNING] Please install gem 'therubyracer' to use Less. C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib/less/java_sc ript/v8_context.rb:2:in `require': cannot load such file -- v8 (LoadError)         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less/java_script/v8_context.rb:2:in `<top (required)>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less/java_script.rb:9:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less/java_script.rb:9:in `default_context_wrapper'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less/java_script.rb:17:in `context_wrapper'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less/loader.rb:10:in `initialize'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less.rb:14:in `new'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less.rb:14:in `<module:Less>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less.rb:9:in `<top (required)>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-rails-2.2 .3/lib/less/rails.rb:6:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-rails-2.2 .3/lib/less/rails.rb:6:in `<top (required)>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-rails-2.2 .3/lib/less-rails.rb:1:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-rails-2.2 .3/lib/less-rails.rb:1:in `<top (required)>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:68:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:68:in `block (2 levels) in require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:66:in `each'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:66:in `block in require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:55:in `each'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:55:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler.rb:122:in `require'         from C:/Sites/thousandtools/config/application.rb:7:in `<top (required)> '         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.3 /lib/rails/commands.rb:53:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.3 /lib/rails/commands.rb:53:in `block in <top (required)>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.3 /lib/rails/commands.rb:50:in `tap'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.3 /lib/rails/commands.rb:50:in `<top (required)>'         from script/rails:6:in `require'         from script/rails:6:in `<main>'

Everaldo Gomes wrote in post #1062753:

Hi Everaldo, I'm also using Windows 7 and I've had the same problem as Felipe, I tried including gem 'therubyracer', :platform => :ruby in my gemfile but I still cannot start the "rails server" to start, since I get the following error:

[WARNING] Please install gem 'therubyracer' to use Less. C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib/less/java_sc ript/v8_context.rb:2:in `require': cannot load such file -- v8 (LoadError)         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less/java_script/v8_context.rb:2:in `<top (required)>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less/java_script.rb:9:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less/java_script.rb:9:in `default_context_wrapper'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less/java_script.rb:17:in `context_wrapper'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less/loader.rb:10:in `initialize'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less.rb:14:in `new'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less.rb:14:in `<module:Less>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib /less.rb:9:in `<top (required)>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-rails-2.2 .3/lib/less/rails.rb:6:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-rails-2.2 .3/lib/less/rails.rb:6:in `<top (required)>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-rails-2.2 .3/lib/less-rails.rb:1:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/less-rails-2.2 .3/lib/less-rails.rb:1:in `<top (required)>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:68:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:68:in `block (2 levels) in require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:66:in `each'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:66:in `block in require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:55:in `each'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler/runtime.rb:55:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.0.22 /lib/bundler.rb:122:in `require'         from C:/Sites/thousandtools/config/application.rb:7:in `<top (required)> '         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.3 /lib/rails/commands.rb:53:in `require'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.3 /lib/rails/commands.rb:53:in `block in <top (required)>'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.3 /lib/rails/commands.rb:50:in `tap'         from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.3 /lib/rails/commands.rb:50:in `<top (required)>'         from script/rails:6:in `require'         from script/rails:6:in `<main>'

Everaldo Gomes wrote in post #1062753:

Seems you forgot to run “bundle install” afterwards

Also, seems less is depending on therubyracer, but not according to RubyGems:

https://rubygems.org/gems/less

Please verify your dependencies first.

Luis Lavena wrote in post #1065543:

Hi Everaldo, I'm also using Windows 7 and I've had the same problem as Felipe, I tried including gem 'therubyracer', :platform => :ruby in my gemfile but I still cannot start the "rails server" to start, since I get the following error:

[WARNING] Please install gem 'therubyracer' to use Less.

Seems you forgot to run "bundle install" afterwards

Also, seems less is depending on therubyracer, but not according to RubyGems:

less | RubyGems.org | your community gem host

Please verify your dependencies first.

-- Luis Lavena

Hi Luis, Thanks for the answer. I did run bundle install and bundle update a few times after I changed the gemfile without any luck. I wonder why less is depending on therubyracer? Any ideas? I read on different threads that Win7 has Java Runtime Development included and that is why therubyracer should not be required. Any clarification on this topic would be hugely appreciated! I am completely stuck right now. Thanks!!

Hi Luis,

Thanks for the answer. I did run bundle install and bundle update a few times after I changed the gemfile without any luck. I wonder why less is depending on therubyracer? Any ideas?

I have no idea of the contents of your Gemfile or Gemfile.lock to determine that.

The only hint I have is that less 2.1.0 might be the gem that depends on that:

http://rubygems.org/gems/less/versions/2.1.0

Upgrading to latest less might solve the issue (latest less is 2.2.1)

I read on different threads that Win7 has Java Runtime Development included and that is why therubyracer should not be required. Any clarification on this topic would be hugely appreciated! I am completely stuck right now. Thanks!!

You mean JavaScript runtime? Yes, Windows have a built-in JavaScript runtime accessible through “cscript” executable.

ExecJS, the gem that uses the JavaScript engine will detect it and use it.

Under some circumstances (messed up Windows installation or uninstalled components due customized versions of Windows) it might not work and ExecJS will trigger an exception saying there is no JavaScript runtime engine and you should install one.

If that is the case, install NodeJS and restart your computer, that should solve the issue.

So, to summarize:

  1. Remove therubyracer from your Gemfile

  2. Update less to a version that doesn’t depend on therubyracer (2.2.1 doesn’t)

  3. Do “bundle update less” so the Gemfile.lock gets updated

  4. Start your app (ruby script\rails server)

  5. If ExecJS fails, install NodeJS and try step 4 again.

Solution found! 100% working...

The reason for all of these problems is the therubyracer-0.11.0beta1-x86-mingw32.gem and the v8.dll.

I have complied the necessary dlls and gem files and upload them to github.

download the package and follow the instructions...

https://github.com/hiranpeiris/therubyracer_for_windows

good luck :slight_smile:

Thanks Hiran,

Solution confirmed working on win8, as of 21/02/2013 using the latest windows installer!

Hiran P. wrote in post #1087600:

Solution found! 100% working...

The reason for all of these problems is the therubyracer-0.11.0beta1-x86-mingw32.gem and the v8.dll.

I have complied the necessary dlls and gem files and upload them to github.

download the package and follow the instructions...

https://github.com/hiranpeiris/therubyracer_for_windows

good luck :slight_smile:

I am also a rails dev on windows and i used a solution similar to this a while back to get LESS working on my machine.

In the end it just wasn't worth it. It created an odd and error prone dependency, and I basically had to have a unique Gemfile for myself, which was a pita to keep in sync with production. Issue gets even worse if you're on Heroku so some other auto-deployment platform.

My answer to all this is to use SASS instead of LESS, or heck just skip the pre-processors altogether and do old fashioned CSS (i hear it still works! :open_mouth: ).

I got into this jumble because of Bootstrap. Default twitter-bootstrap uses LESS. I switched to the SASS version GitHub - twbs/bootstrap-sass: Official Sass port of Bootstrap 2 and 3. and problem solved.

Hi all

I’m still struggling with Windows 7, Ruby and shopify_app.

I install shopify_app (gem install shopify_app)

I create a project (rails new MetaManager)

I edit the Gemfile to include shopify app (Add 'gem ‘shopify_app’ to Gemfile)

I do a bundle install (bundle install)

then generate (rails generate shopify_app )

then I start the server (rails server)

then I get the following;

[WARNING] Please install gem ‘therubyracer’ to use Less.

d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-2.3.3/lib/less/java_script/v8_conte

xt.rb:2:in `require’: cannot load such file – v8 (LoadError)

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-2.3.3/lib/less/java_sc

ript/v8_context.rb:2:in `<top (required)>’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-2.3.3/lib/less/java_sc

ript.rb:9:in `require’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-2.3.3/lib/less/java_sc

ript.rb:9:in `default_context_wrapper’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-2.3.3/lib/less/java_sc

ript.rb:17:in `context_wrapper’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-2.3.3/lib/less/loader.

rb:12:in `initialize’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-2.3.3/lib/less.rb:14:i

n `new’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-2.3.3/lib/less.rb:14:i

n `module:Less

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-2.3.3/lib/less.rb:9:in

`<top (required)>’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-rails-2.3.3/lib/less/r

ails.rb:6:in `require’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-rails-2.3.3/lib/less/r

ails.rb:6:in `<top (required)>’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-rails-2.3.3/lib/less-r

ails.rb:1:in `require’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-rails-2.3.3/lib/less-r

ails.rb:1:in `<top (required)>’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-rails-bootstrap-2.3.3/

lib/less-rails-bootstrap.rb:8:in `require’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/less-rails-bootstrap-2.3.3/

lib/less-rails-bootstrap.rb:8:in `<top (required)>’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.7.0/lib/bundler/r

untime.rb:76:in `require’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.7.0/lib/bundler/r

untime.rb:76:in `block (2 levels) in require’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.7.0/lib/bundler/r

untime.rb:72:in `each’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.7.0/lib/bundler/r

untime.rb:72:in `block in require’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.7.0/lib/bundler/r

untime.rb:61:in `each’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.7.0/lib/bundler/r

untime.rb:61:in `require’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.7.0/lib/bundler.r

b:133:in `require’

    from d:/row/MetaManager/config/application.rb:7:in `<top (required)>'

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/railties-4.1.4/lib/rails/co

mmands/commands_tasks.rb:79:in `require’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/railties-4.1.4/lib/rails/co

mmands/commands_tasks.rb:79:in `block in server’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/railties-4.1.4/lib/rails/co

mmands/commands_tasks.rb:76:in `tap’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/railties-4.1.4/lib/rails/co

mmands/commands_tasks.rb:76:in `server’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/railties-4.1.4/lib/rails/co

mmands/commands_tasks.rb:40:in `run_command!’

    from d:/row/ruby200/lib/ruby/gems/2.0.0/gems/railties-4.1.4/lib/rails/co

mmands.rb:17:in `<top (required)>’

    from bin/rails:4:in `require'

    from bin/rails:4:in `<main>'

if I do a gem install therubyracer, i get the following;

Temporarily enhancing PATH to include DevKit…

Building native extensions. This could take a while…

ERROR: Error installing therubyracer:

ERROR: Failed to build gem native extension.

d:/row/Ruby200/bin/ruby.exe 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.

d:/row/Ruby200/lib/ruby/gems/2.0.0/gems/libv8-3.16.14.3/ext/libv8/builder.rb:58:

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

ut it is currently not available (RuntimeError)

from d:/row/Ruby200/lib/ruby/gems/2.0.0/gems/libv8-3.16.14.3/ext/libv8/b

uilder.rb:42:in `block in build_libv8!’

from d:/row/Ruby200/lib/ruby/gems/2.0.0/gems/libv8-3.16.14.3/ext/libv8/b

uilder.rb:40:in `chdir’

from d:/row/Ruby200/lib/ruby/gems/2.0.0/gems/libv8-3.16.14.3/ext/libv8/b

uilder.rb:40:in `build_libv8!’

from d:/row/Ruby200/lib/ruby/gems/2.0.0/gems/libv8-3.16.14.3/ext/libv8/l

ocation.rb:24:in `install!’

from extconf.rb:7:in `’

I’ve tried doing everything in this thread, and more… I’m at a loss.

Has anyone successfully got this running, or more specifically the shopify_app with ruby under windows 7?

Gem files will remain installed in d:/row/Ruby200/lib/ruby/gems/2.0.0/gems/libv8

-3.16.14.3 for inspection.

Results logged to d:/row/Ruby200/lib/ruby/gems/2.0.0/gems/libv8-3.16.14.3/ext/li

bv8/gem_make.out