How do I upgrade from Rails 4.2.7.1 to Rails 5.0.0.1?

Im using 4.2.7.1 and I want to upgrade to Rails 5.0.0.1. So I adjusted my gemfile like this

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.0.0.1' # Use Puma as the app server gem 'puma', '~> 3.0' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 4.2' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby # Use jquery as the JavaScript library gem 'jquery-rails' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.5' # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 3.0' gem 'uuids' gem 'addressable' gem 'postgresql' gem 'pundit' gem 'omniauth-oauth2', '~> 1.3.1' gem 'omniauth-google-oauth2' gem 'omniauth-facebook' gem 'omniauth-twitter' gem 'omniauth-linkedin-oauth2' gem 'jquery-ui-rails' gem 'will_paginate' gem 'bootstrap-sass' gem 'autoprefixer-rails' gem 'compass-rails' gem 'pdf-reader' gem 'jquery-turbolinks' gem 'tor', :git => 'https://github.com/dryruby/tor.rb.git' gem 'tor_requests' gem 'tor-privoxy' gem 'net-telnet' gem 'mechanize' gem 'activerecord-import' 

but when I try to run "bundle install" (after uninstalling Gemfile.lock), I get these errors ...

 localhost:myproject davea$ bundle install Fetching https://github.com/dryruby/tor.rb.git Fetching gem metadata from https://rubygems.org/......... Fetching version metadata from https://rubygems.org/... Fetching dependency metadata from https://rubygems.org/.. Resolving dependencies................................................. Bundler could not find compatible versions for gem "activerecord": In Gemfile: activerecord-import was resolved to 0.16.1, which depends on activerecord (>= 3.2) rails (~> 5.0.0.1) was resolved to 5.0.0.1, which depends on activerecord (= 5.0.0.1) uuids was resolved to 1.4.0, which depends on activerecord (~> 4.1) Bundler could not find compatible versions for gem "hexx-active_record": In Gemfile: uuids was resolved to 4.0.0, which depends on hexx-active_record (~> 1.3) Could not find gem 'hexx-active_record (~> 1.3)', which is required by gem 'uuids', in any of the sources.Bundler could not find compatible versions for gem "rails": In Gemfile: rails (~> 5.0.0.1) uuids was resolved to 0.0.1, which depends on rails (~> 4.1) 

What do I need to do to upgrade the version of Rails?

Edit: Output in response to the specified answer

 localhost:myproject davea$ rails app:update Error: Command 'app:update' not recognized Usage: rails COMMAND [ARGS] The most common rails commands are: generate Generate new code (short-cut alias: "g") console Start the Rails console (short-cut alias: "c") server Start the Rails server (short-cut alias: "s") dbconsole Start a console for the database specified in config/database.yml (short-cut alias: "db") new Create a new Rails application. "rails new my_app" creates a new application called MyApp in "./my_app" In addition to those, there are: destroy Undo code generated with "generate" (short-cut alias: "d") plugin new Generates skeleton for developing a Rails plugin runner Run a piece of code in the application environment (short-cut alias: "r") All commands can be run with -h (or --help) for more information. 
+7
ruby-on-rails ruby-on-rails-4 rubygems upgrade gemfile
source share
4 answers

From Ruby on Rails Docs, it looks like a rails application: an update will help you upgrade from 4 to 5 rails.

http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html

+2
source share

There is an article on how to update rails and rails_app Update for Rails 5.0 First you need to update local versions of rubies and rails, and then update the application.

But after upgrading your application to rails 5, you probably should make some changes. There is another article on how to do this. Rails Update Checklist

+1
source share

You cannot until you find a replacement for uuids, because even the latest version of uuids requires hexx-active_record, which requires activerecord <5, while rails5 requires activerecord 5. In addition, the six hexx-active_record is not available on rubygems. link https://www.versioneye.com/ruby/hexx-active_record/6.1.0 .

so the only solution at the moment is to find a replacement for uuids

+1
source share

I think this is the best http://railsapps.imtqy.com/updating-rails.html , but you should check your tests before upgrading.

0
source share

All Articles