title: How do I set $PATH?
body: <p>I'm using Ruby 2.3.0. Every time I open a new bash tab, my ruby version downgrades to 2.2.3. So to ensure I'm using the latest, I do <code>rvm use 2.3.0</code>. That fixes the problem on a per-tab basis, and gives this message:</p>
  
  <pre><code>PATH is not properly set up, '/Users/mkeable/.rvm/gems/ruby-2.3.0/bin' is not at first place,
           usually this is caused by shell initialization files - check them for 'PATH=...' entries,
           it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
           to fix temporarily in this shell session run: 'rvm use ruby-2.3.0'.
  </code></pre>
  
  <p>So I do <code>echo $PATH</code> and get something pretty self explanatory:</p>
  
  <pre><code>/usr/local/bin:/Users/mkeable/.rvm/gems/ruby-2.3.0/bin:/Users/mkeable/.rvm/gems/ruby-2.3.0@global/bin:/Users/mkeable/.rvm/rubies/ruby-2.3.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/mkeable/.rvm/bin
  </code></pre>
  
  <p>My .bashrc has this:</p>
  
  <pre><code>export PATH="/usr/local/heroku/bin:$PATH" export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
  </code></pre>
  
  <p>And .bash_profile has this:</p>
  
  <pre><code>source ~/.profile
  export PATH=/usr/local/bin:$PATH
  [[ -s "$HOME/.rvm/scripts/rvm" ]] &amp;&amp; source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
  </code></pre>
  
  <p>This is what I get from <code>rvm info</code></p>
  
  <pre><code>Warning! PATH is not properly set up, '/Users/mkeable/.rvm/gems/ruby-2.3.0/bin' is not at first place,
           usually this is caused by shell initialization files - check them for 'PATH=...' entries,
           it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
           to fix temporarily in this shell session run: 'rvm use ruby-2.3.0'.
  
  ruby-2.3.0:
  
    system:
      uname:       "Darwin BC.local 13.4.0 Darwin Kernel Version 13.4.0: Wed Mar 18 16:20:14 PDT 2015; root:xnu-2422.115.14~1/RELEASE_X86_64 x86_64"
      system:      "osx/10.9/x86_64"
      bash:        "/bin/bash =&gt; GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin13)"
      zsh:         "/bin/zsh =&gt; zsh 5.0.2 (x86_64-apple-darwin13.0)"
  
    rvm:
      version:      "rvm 1.26.11 (latest) by Wayne E. Seguin &lt;wayneeseguin@gmail.com&gt;, Michal Papis &lt;mpapis@gmail.com&gt; [https://rvm.io/]"
      updated:      "3 minutes 39 seconds ago"
      path:         "/Users/mkeable/.rvm"
  
    ruby:
      interpreter:  "ruby"
      version:      "2.2.3p173"
      date:         "2015-08-18"
      platform:     "x86_64-darwin13"
      patchlevel:   "2015-08-18 revision 51636"
      full_version: "ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin13]"
  
    homes:
      gem:          "/Users/mkeable/.rvm/gems/ruby-2.3.0"
      ruby:         "/Users/mkeable/.rvm/rubies/ruby-2.3.0"
  
    binaries:
      ruby:         "/usr/local/bin/ruby"
      irb:          "/usr/local/bin/irb"
      gem:          "/usr/local/bin/gem"
      rake:         "/usr/local/bin/rake"
  
    environment:
      PATH:         "/usr/local/bin:/Users/mkeable/.rvm/gems/ruby-2.3.0/bin:/Users/mkeable/.rvm/gems/ruby-2.3.0@global/bin:/Users/mkeable/.rvm/rubies/ruby-2.3.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/mkeable/.rvm/bin"
      GEM_HOME:     "/Users/mkeable/.rvm/gems/ruby-2.3.0"
      GEM_PATH:     "/Users/mkeable/.rvm/gems/ruby-2.3.0:/Users/mkeable/.rvm/gems/ruby-2.3.0@global"
      MY_RUBY_HOME: "/Users/mkeable/.rvm/rubies/ruby-2.3.0"
      IRBRC:        "/Users/mkeable/.rvm/rubies/ruby-2.3.0/.irbrc"
      RUBYOPT:      ""
      gemset:       ""
  </code></pre>
  
  <p>So this confuses me even further. <code>rvm list rubies</code> says I have only 2.3.0, but my version here is set to 2.2.3.</p>
  
  <p>I can see pretty clearly what I need to do, which is (I think) set <code>/Users/mkeable/.rvm/gems/ruby-2.3.0/bin</code> at the start of $PATH. But how?</p>