Note: If you are currently working with Ruby 1.8.7 or 1.9.3, we recommend to upgrade to Ruby 2.1 first. From our experience this upgrade is much smoother than the jump from 2.1 and 2.2, while still giving your the huge performance gains of Ruby 2. Also, if you're on Ruby 1.8.7, we recommend to skip a troublesome upgrade to 1.9.3 and go straight to 2.1.
When trying to make a Rails app run on Ruby 1.9, you're likely to encounter several issues. Here are a few solutions (obviously not exhaustive):
bundle install
, a gem called linecache
complains about not being compatibleThis is a dependency of ruby-debug
. Use debugger
instead. If you want your Gemfile to work for every version of Ruby you can also say:
^
gem 'ruby-debug', :platforms => :ruby_18
gem 'debugger', :platforms => :ruby_19
This is probably caused by a lambda
not taking the right number of parameters. If you change it to a proc
it will not complain any more.
You need to set the encoding of your .rb
files by putting a
^
# coding: utf-8
comment into the first line.
You can use the attached "prepend_encoding" script to automate this with
prepend_encoding **/*.rb
This happens when non-UTF8 and UTF8 strings collide.
Make sure to you database and database table charsets to UTF8. You can check in the MySQL console with
SHOW VARIABLES LIKE "character_set_database";
SHOW TABLE STATUS;
Also update your nbsp helper if you use that.