Showing posts with label jRuby. Show all posts
Showing posts with label jRuby. Show all posts

Monday, December 10, 2012

You have already activated torquebox...

Working with TorqueBox this afternoon I got the following error just after creating a new application :

You have already activated torquebox-core 2.1.2, but your Gemfile requires torquebox-core 2.0.3.redhat.1. Using bundle exec may solve this.

A quick check inside my .rvm/gems/jruby-1.6.7.2@appname/ folder showed that I had two versions of torquebox installed :



I deleted the incorrect version, 2.1.1.  Everything was fine.

Wednesday, February 8, 2012

RVM, jRuby, ActiveRecord::ConnectionNotEstablished, and PostgreSQL

I generated a new Rails 3 app with a PostgreSQL backend.  I was using the latest jRuby.

I started the server and got :

ActiveRecord::ConnectionNotEstablished

That was annoying.
I connected to the database from the command line and from another tool.
I ran rails console and got the following :

ArgumentError: syntax error on line 42, col 0: `'
                    load at org/yecht/ruby/YParser.java:152
                    load at /home/[USER NAME]/.rvm/rubies/jruby-1.6.5/lib/ruby/1.8/yaml.rb:134
  database_configuration at /home/[USER NAME]/.rvm/gems/jruby-1.6.5/gems/railties-3.2.1/lib/rails/application/configuration.rb:115


Taking a look at yaml.rb line 134 clued me in that I was using the wrong jRuby compatibility.

RVM to the rescue.  RVM is just pure goodness.  It really makes switching rubies a breeze.

The executive summary is that RVM makes it easy to run multiple versions of Ruby and/or Ruby gems.  To use jRuby :

rvm use jRuby

It even makes it easy to set jRuby's version compatibility.  RVM  allows you to specify hooks to run after its' methods.

jRuby 1.6.x has 1.8 and 1.9 Ruby compatibility.  To use 1.9 just add an "after_use" hook (this is detailed on the RVM site).