We are looking to upgrade ruby from 2.2, but not yet Rails.
It seems that ruby 2.4 has been tested with rails 4.2, but not 2.5.
Can anyone confirm or contradict this?
Thank you!
The first version of Rails which brings official (and tested) Ruby 2.5 support is Rails 5.1. With earlier versions of Rails, you might still be able to get it running, but will probably stumble upon roadblocks sooner or later.
Thus, if you need Ruby 2.5 support, you should use at least Rails 5.1. If you need to use earlier versions of Rails, use it with Ruby 2.4. Rails supports Ruby 2.4 since version 4.2.8.
Related
Just I wanted to know whether bundler concept can be introduced in ruby 1.8.6 or does it require ruby 1.8.7 ?.How it can be applied in rails 2.3.8 ?.
Your valuable feedback would be highly appreciated.
bundler requires 1.8.7 (which is pretty ancient and more or less unmaintained at this point).
You can use it with rails 2.3.x - the bundler website has instructions on how to set this up
Really, DO NOT USE the 1.8 ruby series any longer. Compared to 1.9.X it has only disadvantages and is not maintanined any longer. Even gems shouldn't be a problem after all this time since the 1.9 series releases.
Sure, not the exact answer you want to hear, but seriously: upgrade.
ruby 1.8.7 has p302 and p330 versions, i want to install ruby in centos x64 and rails of 2.3.5, but i am not sure which version should i use ?
Could someone give me some recommendations for me?
Thank you in advance.
As a general rule, you should use the latest version unless you have very specific reasons not to.
You should also update Rails to 2.3.12 if possible to address some security issues in earlier releases.
I've been learning Python for a while, but the projects I want to do are better suited for Ruby, for example the SAC API for CSS is available in Ruby (and C & Java).
Anyhow, which version of Ruby should I learn right now considering that I'll be building only web apps.
Thanks for your comments and advices.
(Just) because you are planning to build web apps, Ruby 1.8.7 seems to be the most appropriate version for the following reasons:
The Rails ecosystem has still some problem with Ruby 1.9
Ruby Enterprise Edition is based on Ruby 1.8.7 and this is the Ruby interpreter you are likely to use in production unless you don't use jRuby
jRuby is based on Ruby 1.8.7, if you plan to use it
However, you should always keep in mind that Ruby 1.9 is the future. So, avoid using Ruby 1.8.7 deprecated features and you should definitely have a look at the Ruby 1.9 roadmap.
Avoid Ruby 1.8.6. The upcoming Rails release (Rails 3) won't work with Ruby 1.8.6.
Hands down, go with 1.9. There's not that much of a difference if you're a web developer just starting out with Ruby. And by the time you get to the point where the version nuances matter, everything will be on 1.9.
i think you can start in 1.9
its more better..
its nearest future
What steps should I follow to upgrade a Ruby project from 1.8.6 to 1.8.7?
It should be mostly seamless, since it was mostly compatible changes to the api.
Still, check out the list of incompatibilities
If you start using the new methods offered by 1.8.7 (or newer!) but would like to remain compatible with 1.8.6, checkout my backports gem.
There are just method add in ruby 1.8.7 in compare to ruby 1.8.6. So if it's works with 1.8.6 it's works in ruby 1.8.7 too.
But if you are a great test suite, launch it and see if all works.
It's a point release. You shouldn't have to do anything.
hey, read this http://casperfabricius.com/site/2010/01/24/multiple-ruby-versions-with-rvm/
it takes you through the installation and setup of Ruby Version Manager - which makes it really easy to switch between different versions of ruby in linux (and mac I think) - if you are on windows, then use this, it's called pik http://github.com/vertiginous/pik/
I know there is ongoing work for in this regards but what is the exact status of JRUby 1.3 compatibility with Ruby 1.9.1 ? I am slightly confused if I can dwnload jruby 1.3 and start working with my ruby 1.9 installation.
The JRuby homepage says :
* Ruby 1.8.6 compatible now
* Ruby 1.9 compatible soon
Wikipedia says the following:
Release history
This table present only releases that present significant steps in JRuby history, aside from versions that mainly fixed bugs and improved performance.
Release Release Date Highlights
0.9 2006-08-01 Rails support[11]
1.1 2008-03-28 Performs better than Ruby MRI 1.8.7[6]
AOT mode and JIT mode[21]
1.1.4 2008-08-28 Refactored Java integration layer
Beginning of Ruby 1.9 support
FFI subsystem for calling C libraries[22]
1.2.0 2009-03-16 Ruby 1.9 support almost complete (including JIT compiler)
Preliminary Android support
A detailed overview of what is done and what is missing can be found on their wiki. From that page:
These are entire areas that need to be worked on.
Encoding::Converter
Yielder/Generator
key Marshal changes
cli options
some RubyBignum changes
possible other changes in Numerics
changes in Dir/IO/File (some obvious things are done, like enumeratorize)
some changes in Math
encoding information in exception messages (now passed via java String)
BigDecimal changes ?
In general, though, I think you'll be fine if you use JRuby for Ruby 1.9 code. Any errors that you may have will be few and far between, and easily fixable (for the most part). I recommend you try your code with the latest JRuby, and if it doesn't work, then you know not to use it yet.
Update to 1.6.4 and you'll get JRuby 1.9 with the --1.9 flag, or with the JRUBY_OPTS environment variable set to --1.9.
Here's an update from the 11/2/2009 release notes for Jruby 1.40:
We have also gotten more serious about
out 1.9 support (–1.9). The bigger
applications mostly just work at this
point, but we still have a ways to go
on 1.9 support. Please try your 1.9
code in JRuby and help us firm things
up.
Having struggled with Rails when it almost worked under JRuby, I'd advise sticking with 1.8x for now if you're doing production work. The JRuby guys are great, and I'm sure they'll nail 1.9, but in the meantime, living on the edge is painful when you're trying to get things done.