title: What is the difference between "~> 4.0.1", "4.0.1" and no version specifier in a Gemfile?
body: <p>In Rails Gemfile, what are the differences between these :</p>
  
  <pre><code>gem "gemname", "~&gt; 4.0.1"
  </code></pre>
  
  <p>and</p>
  
  <pre><code>gem "gemname", "4.0.1"
  </code></pre>
  
  <p>and </p>
  
  <pre><code>gem "gemname"
  </code></pre>
  
  <p>Also what should be used where and benefit of following that way?</p>