Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't install JSON gem

Tags:

ruby

bundler

gem

I need to install json because I get this error:

Could not find json-1.4.6 in any of the sources

I ran gem install json and bundle install but I was only able to install json-1.5.1 when I need json-1.4.6

I have gem 'json', '1.4.6' in my gemfile, so I'm not sure what's going on...

UPDATE

I get this error:

Installing json (1.4.6) /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1216:in `chmod': Operation not permitted - /Library/Ruby/Gems/1.8/gems/json-1.4.6/CHANGES (Errno::EPERM)

like image 883
Justin Meltzer Avatar asked Mar 07 '11 05:03

Justin Meltzer


4 Answers

Please update your rubygems by executing the following command..

gem update --system

may be it will solve the problem. After updating your gem. Then run the following command to install json

gem install json

Now you can get json gem installed in your system.

like image 186
Shaharia Azam Avatar answered Oct 26 '22 07:10

Shaharia Azam


After checking logs by running $ heroku logs

I found "An error occurred while installing json (1.4.6), and Bundler cannot continue. Make sure that gem install json -v '1.4.6' succeeds before bundling."

I then removed 2 json entries from the Gemfile.lock and had no further issues.

like image 34
Kmb40 Avatar answered Oct 26 '22 07:10

Kmb40


Why did you run gem install json at all? Bundler takes care of that for you and will ensure that the correct version of each gem is installed (since sometimes dependencies require an older version). Run

gem uninstall json
bundle install

Also ensure you have source 'https://rubygems.org' at the top of your Gemfile.

As for the permissions info, you may have to run gem and bundle commands with sudo.

By the way, I highly recommend taking a look at and using RVM, particularly the gemsets feature. It will make your life infinitely better when developing Ruby apps. If you decide to do so, I'd also suggest trashing all the gems you've install using the system Ruby by running sudo rm -rf /Library/Ruby/Gems/1.8/. It's also important that when using RVM you don't have to use sudo when running gem (or bundle), which is not only safer but less typing too.

like image 33
Andrew Marshall Avatar answered Oct 26 '22 08:10

Andrew Marshall


Try: $ sudo apt-get install ruby1.8-dev

like image 42
Ronye Pires Avatar answered Oct 26 '22 08:10

Ronye Pires