I want to create a new Rails app. I am using rvm with ruby-2.1.2. I am usint the
gem install rails
$ gem install rails
Fetching: concurrent-ruby-1.0.3.pre3.gem (100%)
Successfully installed concurrent-ruby-1.0.3.pre3
Fetching: minitest-5.9.0.gem (100%)
Successfully installed minitest-5.9.0
Fetching: thread_safe-0.3.5.gem (100%)
Successfully installed thread_safe-0.3.5
Fetching: tzinfo-1.2.2.gem (100%)
Successfully installed tzinfo-1.2.2
Fetching: i18n-0.7.0.gem (100%)
Successfully installed i18n-0.7.0
Fetching: activesupport-5.0.0.gem (100%)
ERROR: Error installing rails:
activesupport requires Ruby version >= 2.2.2.
$ rvm gemdir
$ cd /Users/myuser/.rvm/gems/ruby-2.1.2@global
$ cd gems
bundler-unload-1.0.2 gem-wrappers-1.2.4 rake-10.1.0 rvm-22.214.171.124 tzinfo-1.2.2
concurrent-ruby-1.0.3.pre3 i18n-0.7.0 rdoc-4.1.0 test-unit-126.96.36.199
executable-hooks-1.3.2 minitest-5.9.0 rubygems-bundler-1.4.4 thread_safe-0.3.5
You're allowed to use any ruby version of your will, however you can't use any ruby version with the latest version of Rails.
When you do
gem install rails you're getting the latest Rails' version (Rails 5), which isn't compatible with Ruby 2.1.2 at all.
If you really want to use Ruby 2.1.2, try this:
gem install rails -v 4.2.2.
As the use of gemset, since I like this pretty organized, I never use the global. I always create a new gemset for every project. This guarantee that I can have many projects, each one with a ruby and rails version, without getting any incompatibility between the gems. This of gemset as your Ruby on Rails workspace. If you separate them by project, you will minimize the odds of oddities with gem incompatibility.