Forum: Ruby on Rails How install libv8 (therubyracer) Windows 7

Posted by Felipe Pieretti Umpierre (gremio10)
on 2012-05-31 23:02
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.
Posted by Everaldo Gomes (Guest)
on 2012-05-31 23:05
(Received via mailing list)
Hi!

It seems that you need to install Python:

make: python: Command not found



On Thu, May 31, 2012 at 6:02 PM, Felipe Pieretti Umpierre
Posted by Felipe Pieretti Umpierre (gremio10)
on 2012-06-01 01:23
Hello Everaldo, thank you for the answer, but I have installed the 
Python:

C:\Python27

and this error still there :D

Thank you.
Posted by Everaldo Gomes (Guest)
on 2012-06-01 03:12
(Received via mailing list)
Hi Felipe!

Try this, please:

gem 'therubyracer', :platform => :ruby

I found this on Stack Overflow:

http://stackoverflow.com/questions/6356450/theruby...

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

On Thu, May 31, 2012 at 8:23 PM, Felipe Pieretti Umpierre
Posted by Felipe Pieretti Umpierre (gremio10)
on 2012-06-01 03:47
Thank you Everaldo,

One more thing, you know how help me with this ?

C:\rails\organily>rails g migration Task
      invoke  active_record
C:/Ruby193/lib/ruby/1.9.1/psych.rb:203:in `parse': (<unknown>): mapping 
values a
re not allowed in this context at line 8 column 13 (Psych::SyntaxError)
        from C:/Ruby193/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
        from C:/Ruby193/lib/ruby/1.9.1/psych.rb:151:in `parse'
        from C:/Ruby193/lib/ruby/1.9.1/psych.rb:127:in `load'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.3/lib/rails/applic
ation/configuration.rb:115:in `database_configuration'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_r
ecord/railtie.rb:75:in `block (2 levels) in <class:Railtie>'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.3/lib/active_
support/lazy_load_hooks.rb:36:in `instance_eval'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.3/lib/active_
support/lazy_load_hooks.rb:36:in `execute_hook'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.3/lib/active_
support/lazy_load_hooks.rb:43:in `block in run_load_hooks'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.3/lib/active_
support/lazy_load_hooks.rb:42:in `each'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.3/lib/active_
support/lazy_load_hooks.rb:42:in `run_load_hooks'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_r
ecord/base.rb:721:in `<top (required)>'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_r
ecord/migration.rb:507:in `next_migration_number'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/active_r
ecord/migration.rb:334:in `method_missing'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/rails/ge
nerators/active_record.rb:21:in `next_migration_number'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.3/lib/rails/genera
tors/migration.rb:49:in `migration_template'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activerecord-3.2.3/lib/rails/ge
nerators/active_record/migration/migration_generator.rb:10:in 
`create_migration_
file'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/task.rb:22
:in `run'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation
.rb:118:in `invoke_task'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation
.rb:124:in `block in invoke_all'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation
.rb:124:in `each'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation
.rb:124:in `map'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation
.rb:124:in `invoke_all'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/group.rb:2
26:in `dispatch'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation
.rb:109:in `invoke'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/group.rb:2
69:in `block in _invoke_for_class_method'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/shell.rb:7
4:in `with_padding'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/group.rb:2
58:in `_invoke_for_class_method'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/group.rb:1
50:in `_invoke_from_option_orm'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/task.rb:22
:in `run'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation
.rb:118:in `invoke_task'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation
.rb:124:in `block in invoke_all'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation
.rb:124:in `each'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation
.rb:124:in `map'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation
.rb:124:in `invoke_all'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/group.rb:2
26:in `dispatch'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/base.rb:38
9:in `start'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.3/lib/rails/genera
tors.rb:170:in `invoke'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.3/lib/rails/comman
ds/generate.rb:12:in `<top (required)>'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.3/lib/active_
support/dependencies.rb:251:in `require'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.3/lib/active_
support/dependencies.rb:251:in `block in require'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.3/lib/active_
support/dependencies.rb:236:in `load_dependency'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.3/lib/active_
support/dependencies.rb:251:in `require'
        from 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.3/lib/rails/comman
ds.rb:29:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'

I try to create a migration, but this shows up.

I can create controller.

Thank you
Posted by Alan M. (alan_m)
on 2012-06-21 08:30
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 Felipe!
>
> Try this, please:
>
> gem 'therubyracer', :platform => :ruby
>
> I found this on Stack Overflow:
>
> http://stackoverflow.com/questions/6356450/theruby...
>
> 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
>
> On Thu, May 31, 2012 at 8:23 PM, Felipe Pieretti Umpierre
Posted by Luis Lavena (luislavena)
on 2012-06-21 17:33
(Received via mailing list)
On Thursday, June 21, 2012 3:30:02 AM UTC-3, Ruby-Forum.com User wrote:
>
> 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:

https://rubygems.org/gems/less

Please verify your dependencies first.

--
Luis Lavena
Posted by Alan M. (alan_m)
on 2012-06-21 18:16
Luis Lavena wrote in post #1065543:
> On Thursday, June 21, 2012 3:30:02 AM UTC-3, Ruby-Forum.com User wrote:
>>
>> 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:
>
> https://rubygems.org/gems/less
>
> 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!!
Posted by Luis Lavena (luislavena)
on 2012-06-22 01:39
(Received via mailing list)
On Thursday, June 21, 2012 1:16:05 PM UTC-3, Ruby-Forum.com User wrote:
>
>
> 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.

--
Luis Lavena
Posted by Andrew Meyer (Guest)
on 2012-06-24 23:04
(Received via mailing list)
The problem is that less doesn't officially depend on therubyracer. It
installs just fine, but when you try to run 'rails server' afterwards it
crashes, claiming that you need to install therubyracer. (It does do 
this
on less 2.2.1)
Posted by dreamrise (Guest)
on 2012-07-12 15:21
(Received via mailing list)
j:\work\code_campo>rails server
[WARNING] Please install gem 'therubyracer' to use Less.
J:/ruby/ruby/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib/less/java_script/v8_context.rb:2:in
`require': cannot load such file -- v8 (LoadError)
        from
J:/ruby/ruby/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib/less/java_script/v8_context.rb:2:in
`<top (required)>'
        from
J:/ruby/ruby/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib/less/java_script.rb:9:in
`require'
        from
J:/ruby/ruby/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib/less/java_script.rb:9:in
`default_context_wrapper'
        from
J:/ruby/ruby/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib/less/java_script.rb:17:in
`context_wrapper'
        from
J:/ruby/ruby/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib/less/loader.rb:10:in
`initialize'
        from
J:/ruby/ruby/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib/less.rb:14:in `new'
        from
J:/ruby/ruby/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib/less.rb:14:in
`<module:Less>'
        from
J:/ruby/ruby/lib/ruby/gems/1.9.1/gems/less-2.2.1/lib/less.rb:9:in `<top
(required)>'


在 2012年6月24日星期日UTC+8上午8时27分36秒,Andrew Meyer写道:
Posted by Hiran P. (hiran_p)
on 2012-12-03 08:52
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 :-)
Posted by Martin Dean (mizpah)
on 2013-02-21 14:41
Thanks Hiran,

Solution confirmed working on win8, as of 21/02/2013 using the latest 
windows installer!
Posted by masta Blasta (mastablasta)
on 2013-02-21 20:57
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 :-)


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! :O ).

I got into this jumble because of Bootstrap. Default twitter-bootstrap
uses LESS. I switched to the SASS version
https://github.com/thomas-mcdonald/bootstrap-sass and problem solved.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.