title: Laravel psr-4 not autoloading
body: <p>I have a Laravel project that works fine locally (Mavericks), but classes under psr-4 aren't loading on our stage server (CentOS). I'm getting a Reflection "class not found" error every time I try composer update, or run an artisan command.</p>
  
  <p>All my app-specific classes are stored in my Laravel project under app/heatherland, eg:</p>
  
  <pre><code>app/heatherland/import/ImportJob.php (file contains HeatherLand\Import\ImportJob)
  </code></pre>
  
  <p>My composer.json contains this entry:</p>
  
  <pre><code>"autoload": {
      "classmap": [
          "app/commands",
          ...
          "app/database/seeds",
      ],
      "psr-4": {
          "HeatherLand\\": "app/heatherland"
      }
  },
  </code></pre>
  
  <p>Locally, the psr-4 classes are added to the array in vendor/composer/autoload_classmap.php. They're not added to this file on the stage server. If I cut and paste them manually, artisan commands work properly, but the next time I run a composer command, the autoload file is overwritten. The autoload_psr4.php on both local and stage has the following entry, which looks fine to me:</p>
  
  <pre><code>'HeatherLand\\' =&gt; array($baseDir . '/app/heatherland'),
  </code></pre>
  
  <p>Here's is a list of stuff I've tried/checked:</p>
  
  <ul>
  <li>The case of the class, folder and file names is consistent and correct.</li>
  <li>I've been using composer dump-autoload liberally, with and without the -o option</li>
  <li>I can run composer update with the --no-scripts option fine, but artisan still won't run</li>
  <li>Folder names are lower-case, <strike>and I've tried changing them to reflect case of the namespaces</strike> (edit: this never happened, at least not successfully).</li>
  <li>I've tried removing CamelCase from my namespace (eg, changing it to Heatherland), and there aren't any underscores in any of my folder/filenames.</li>
  <li>I'm running PHP 5.4.30, and composer is up-to-date. Versions are identical on my local setup and stage server. Laravel 4.1.30.</li>
  <li>No duplicate composer.phar in either system</li>
  </ul>
  
  <p>Any new advice welcome. At this point, I'd be really happy if I've done something silly.</p>