How to fix libv8 error from Gemfile on Mavericks? - ruby-on-rails

When I run bundle install I get
An error occurred while installing libv8 (3.11.8.17), and Bundler cannot continue.
Make sure that `gem install libv8 -v '3.11.8.17'` succeeds before bundling.
Libv8 is dependency for lunchy and therubyracer gems.
I have locked in my Gemfile.lock libv8 gem on 3.11.8.17
But I found that I can downgrade it to 3.3.10.4
bundle install / update: libv8 (therubyracer) installation fails (with native extensions)
How to do that?
I also found working 3.11.8.17 gem but don't know how to implement it on my system.
https://github.com/cowboyd/libv8/issues/107#issuecomment-26146673

You can actually install that version on Mavericks:
gem install libv8 -v 3.11.8.17 -- --with-system-v8
I can confirm this works with rbenv and ruby 1.9.3p448
See a similar thread here Installing libv8 gem on OS X 10.9+

You need to reinstall libv8
$ gem uninstall libv8
$ brew install v8
$ gem install therubyracer

Try with
gem "therubyracer", "~> 0.10.2" to Gemfile
And it will install dependent gem libv8 (3.3.10.4) and the issue of build gem native extension failure got resolve.

try upgrading your ruby to the highest patch level. libv8 and the rubyracer gem installed right away after I upgraded ruby-1.8.7 after going from p357 to p375.

Follow the below commands, this will solve the problem for sure:
gem install rmagick -v '2.13.2'
and then do:
gem install libv8 -v 3.11.8.17 -- --with-system-v8

Related

How to unlock Nokogiri version on Ubuntu

I am trying to install the aws-sdk gem for Rails, but it requires a Nokogiri version less than 1.6.0. I think due to a previous bundle install my system is locked on Nokogiri v1.6.6.2.
I tried removing the locked gem, and ran a bundle update but it didn't work. What should I do?
Specify your desired Nokogiri version in your Gemfile:
gem 'nokogiri', '< 1.6.0'
and run
bundle update nokogiri
Run
gem uninstall nokogiri -v 1.6.6.2
then change the Gemfile to the version you want and then do a bundle install.

Could not bundle install because of 'eventmachine 1.0.3'

$ bundle install
Errno::ENOENT: No such file or directory # rb_sysopen - /Users/Sean/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/eventmachine-1.0.3/ext/gem_make.out
An error occurred while installing eventmachine (1.0.3), and Bundler cannot
continue.
Make sure that `gem install eventmachine -v '1.0.3'` succeeds before bundling.
$ gem list
eventmachine (1.0.3 x86-mingw32)
$ gem build eventmachine -v 1.0.3
ERROR: While executing gem ... (Gem::CommandLineError)
Too many gem names (eventmachine, 1.0.3); please specify only one
Try to edit Gemfile.lock and change eventmachive version from 1.0.3 to 1.0.4.
This works for me.
bundle update
bundle install Hope this will work.
I had a similar issue with eventmachine -v '1.0.4' and i resolved it like this.
gem install eventmachine -v '1.0.4' -- --with-cppflags=-I/usr/local/opt/openssl/include

use nokogiri 1.5.9 with rails

I want to use Ruby 1.8.7 with Rails, but when I run bundle install I get this error:
Gem::InstallError: nokogiri requires Ruby version >= 1.9.2.
An error occurred while installing nokogiri (1.6.0), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling.
nokogiri 1.6.0 does not support Ruby <1.9.2.
I tried installing nokogiri 1.5.9 to make things work but it did not help.
i added the line
gem 'nokogiri', '~> 1.5.10'
in my Gemfile and it install nokogiri 1.5.10 and the bundle install succeeded !
According to the changelog:
1.5.0 beta1 / 2010/05/22
Ruby 1.8.6 is deprecated. Nokogiri will install, but official support is ended.
So, you'll probably need to use nokogirl version 1.4.7.

the therubyracer gem keeps causing bundle install to fail on ubuntu 12.04

I'm trying to use capistrano to deploy, and it fails because of a rubyracer gem issue.
I tried adding the following variants to gemfile and then deploying to a production server on ubuntu and nothing works:
1)
gem 'libv8', '3.11.8.3'
3)
gem 'therubyracer'
gem 'libv8', '3.3.10.4'
4)
gem 'libv8', '~> 3.11.8.3'
It all gives the same error:
An error occured while installing therubyracer (0.11.0), and Bundler cannot continue.
Make sure that gem install therubyracer -v '0.11.0' succeeds before bundling.
So I try this instead:
group :production do
gem 'therubyracer', '0.10.2', :platforms => :ruby
end
But that causes this error:
Bundler could not find compatible versions for gem "libv8":
In Gemfile:
therubyracer (= 0.10.2) ruby depends on
libv8 (~> 3.3.10) ruby
libv8 (3.11.8.3)
It seems I currently have two version of lib8 on server:
libv8 (3.11.8.4, 3.3.10.4 x86_64-linux)
Any ideas?
After hours of trying solutions from stackoverflow, I got an easy fix from this site with just 2 commands, the author mentioned that
When installing therubyracer gem you may run into this problem on a
fresh machine install.
http://usefulprogrammingshit.drmcnasty.com/?p=12
sudo apt-get install g++
sudo apt-get install build-essential
I know nothing of ruby so you would need to research more about this solution, but after all, "therubyracer 0.12.2" is installed on ubuntu 14.04. I hope it could help.
Just uninstall both libv8 from your machine
Terminal
gem uninstall libv8
In terminal, You will be prompt to select which version do you want to uninstall like this:
libv8 3.3.10.4 x86_64-linux
libv8 3.11.8.4 x86_64-linux
All
Select 3 and hit enter(return key). It will uninstall your both libv8 versions installed in your machine.
Now, in your Gemfile just include therubyracer without libv8 and bundle install
gem 'therubyracer'
bundle install
It will work
At the command line of the production server do
gem install therubyracer
try node.js as your runtime javascript environment, but not libv8.
if you insist on libv8, don't specify the version. it seems that there's conflicts on the versions. e.g. in your Gemfile:
gem 'therubyracer'
gem 'libv8'

bundle install failed

I am getting this error on bundle install
Gem::InstallError: devise_invitable requires RubyGems version ~> 1.3.6. Try 'gem update --system' to update RubyGems itself.
An error occured while installing devise_invitable (0.4.rc), and Bundler cannot continue.
Make sure that `gem install devise_invitable -v '0.4.rc'` succeeds before bundling.
but when i see the version of rubygems i have
gem -v
1.8.10
any ideas on how to fix this....here is the top of my gemfile
gem 'rails', '3.0.3'
gem 'devise', "1.2.rc"
gem 'devise_invitable', '0.4.rc'
In the gemspec for devise_invitable, they explicitly require rubygems, ruby and bundler with specific version constraints. While they look like they should be ok since they are using >=, the fact that it comes out in your console as ~> is telling.
The requirement of ~> 1.3.6 means you need to have a version of rubygems installed that is 1.3.6 <= x < 1.4.0.
You could try running bundle install to get compatible gem versions
But if that doesn't work, try installing the version explicitly gem install rubygems -v 1.3.6

Resources