Update: Many people reported issues with installing the proper version of Rack, so I’ve updated step 3 to account for that.
I just returned from RailsConf 2015 and wanted to checkout some of the new features of Rails 5 that @dhh highlighted in his keynote. Here’s how I got up and running on edge rails in a few quick steps.
1. Create the project directory
cd ~/Projects/Test mkdir rails-5-edge-test cd rails-5-edge-test
2. Setup your environment
Rails 5 requires Ruby >= 2.2.2. I’m using RVM in this case, but you can use whatever Ruby environment manager that works for you.
rvm use 2.2.2@rails-5-edge-test --create
3. Install edge Rails so we can generate a new project
touch Gemfile cat > Gemfile <<END_CONF source "https://rubygems.org" ruby '2.2.2' gem 'rails', :git => 'git://github.com/rails/rails.git' gem 'rack', :git => 'git://github.com/rack/rack.git' gem 'arel', :git => 'git://github.com/rails/arel.git' END_CONF bundle
Note that we included both Arel and Rack from source as well. At the time of writing, ActiveRecord requires Arel >= 7.0.0.alpha which isn’t available on RubyGems.org yet, and ActionPack requires Rack >= 2.0 which also isn’t released yet, so these two lines are required to resolve that dependency.
4. Generate the rails app
bundle exec rails new . --dev --force
The --force
flag will allow Rails to overwrite our Gemfile, and the --dev
flag tells Rails to point to the edge version of Rails that we just bundled.
5. Profit!
bin/rails server
I am having the same problems. Rails version 5.0.0.beta3
Ruby version 2.3.0-p0 (x86_64-linux)
RubyGems version 2.5.1
Rack version 2.0.0.alpha
Middleware Rack::Sendfile, ActionDispatch::Static, ActionDispatch::LoadInterlock, ActiveSupport::Cache::Strategy::LocalCache::Middleware, Rack::Runtime, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Reloader, ActionDispatch::Callbacks, ActiveRecord::Migration::CheckPending, ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, Rack::Head, Rack::ConditionalGet, Rack::ETag, ActionView::Digestor::PerRequestDigestCacheExpiry
Application root /home/jendiamond/Desktop/note_api
Environment development
Database adapter sqlite3
Database schema version 0
When I run: $ bundle install railties/exe/rails
ERROR: “bundle install” was called with arguments [“railties/exe/rails”]
Usage: “bundle install [OPTIONS]”
I am on Linux Ubuntu 14.04 LTE
As per https://github.com/rails/rails/issues/21422#issuecomment-135893639 we should use another approach but it still fails so I submitted a new issue: https://github.com/rails/rails/issues/22198
Line 8 in step 3 calls `bundle` which invokes the `install` subcommand, which I’m guessing you may have overlooked if you were following along. Looks like you got it resolved though. How’d the rest of your exploration go?
I had to use Rack 2.0 to make it work:
gem ‘rack’, github: ‘rack/rack’
Thanks for the feedback, rabsztok. Good to know!
I ran into the same issue (September 20, 2015) but adding rack to the Gemfile is not resolving the dependency. The current release on the rack master branch is 2.0.0.alpha so it should satisfy it…