The current Rails Gem (version 1.2.5) gives an error when creating a Controller in a JRuby-on-Rails application on Windows. It gives the following error during controller creation as shown below:
C:/testbed/ruby/jruby-1.0.1/lib/ruby/1.8/pathname.rb:420:in `realpath_rec': No such file or directory -C:/testbed/ruby/jruby-1.0.1/samples/rails/hello/C: (Errno::ENOENT)
from C:/testbed/ruby/jruby-1.0.1/lib/ruby/1.8/pathname.rb:453:in `realpath'
from C:/testbed/ruby/jruby-1.0.1/lib/ruby/gems/1.8/gems/rails-1.2.4/lib/initializer.rb:543:in `set_root_path!'
from C:/testbed/ruby/jruby-1.0.1/lib/ruby/gems/1.8/gems/rails-1.2.4/lib/initializer.rb:509:in `initialize'
from ./script/../config/boot.rb:35:in `new'
from ./script/../config/boot.rb:35:in `run'
from ./script/../config/boot.rb:35
from :1:in `require'
from :1
and Rails 1.2.4 gives exactly the same error. This is Ticket #9893. This actually happens because of JRUBY-1401.
The workaround is to use Rails 1.2.3. If you have already installed the latest Rails plugin, then you can uninstall it using the command:
C:\testbed\ruby\jruby-1.0.1\bin>gem uninstall rails
Successfully uninstalled rails version 1.2.5
Remove executables and scripts for
'rails' in addition to the gem? [Yn] y
Removing rails
And then install Rails 1.2.3 as:
gem install rails --include-dependencies --version 1.2.3 --no-ri --no-rdoc
Successfully installed rails-1.2.3
Successfully installed activesupport-1.4.2
Successfully installed activerecord-1.15.3
Successfully installed actionpack-1.13.3
Successfully installed actionmailer-1.3.3
Successfully installed actionwebservice-1.2.3
Now create a new application as shown below:
jruby -S rails hello
And then create a controller as:
jruby script\generate controller say hello
exists app/controllers/
exists app/helpers/
create app/views/say
exists test/functional/
create app/controllers/say_controller.rb
create test/functional/say_controller_test.rb
create app/helpers/say_helper.rb
create app/views/say/hello.rhtml
Hope you find it useful and this bug is fixed in the next version of Rails.
Please leave suggestions on other TOTD that you’d like to see. A complete archive is available here.
Technorati: totd rubyonrails jruby windows
Related posts:- TOTD #13: Setup Mongrel for JRuby-on-Rails applications on Windows
- JRuby 1.0.2 released – Improved Windows experience and Rails 1.2.5 support
- TOTD #24: Getting Started with Rails 2.0.x in JRuby 1.0.3 and JRuby 1.1RC1
- TOTD #11: Setup Mongrel cluster for JRuby-on-Rails applications on Unix
- JRuby 1.0.3 + Rails 2.0 Hello World – Additional Steps Required
[Trackback] JRuby 1.0.2 was released last week. A total of 99 issues were fixed but I’m particularly excited about JRUBY-1347, JRUBY-1350, JRUBY-1401 and JRUBY-1410. These are some issues that I faced (1347 here, 1350 here, 1401 here, 1410 here) on…
Comment by Arun Gupta's Blog — November 9, 2007 @ 7:17 am