Unable to install rails with jRuby

你离开我真会死。 提交于 2019-11-29 04:29:41

I had this problem just a bit ago, but it was with rspec. Try this:
jruby --1.9 -S gem install rails -v 3.0.6

This tells jruby to use the ruby 1.9 interpreter.

This bug has been fixed in JRuby 1.6.2.

Workaround for JRuby 1.6.1 on the command line (Windows):

set JRUBY_OPTS=--1.9
# in your specific case
gem install rails   

# this is where I got the error (Rails 3 with Bundler)
bundle update

This bug can happen with some versions of the gem you're installing, but not others. This is because the YAML error is due to the date field in the YAML file, as mentioned in this comment for bug 5581.

For example, version 1.4.2 of the bio gem caused the exception for me.

Instructions for how to get the metadata are from Shaving a YAML Yak, except I substituted gunzip and less for gzcat

gem fetch bio --version 1.4.2
tar xvf bio-1.4.2.gem
gunzip metadata.gz
less metadata | grep date
date: 2011-08-26 00:00:00.000000000 Z

YAML.load("date: 2011-08-26 00:00:00.000000000 Z") # Causes exception

whereas for version 1.4.1 of bio

gem fetch bio --version 1.4.1
tar xvf bio-1.4.1.gem
gunzip metadata.gz
less metadata | grep date
date: 2010-10-22 00:00:00 +09:00

YAML.load("date: 2010-10-22 00:00:00 +09:00") # Doesn't cause an exception

So doing sudo jruby -S gem install bio --version 1.4.1 worked for me.

If you want the latest and greatest, then you could fetch the gem and modify its metadata, or build the gem yourself, but the above was Good Enough™ for me.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!