title: Executing Bower in a CI Environment, such as Jenkins
body: <p>My Jenkins is running on <code>CentOS 6</code> with <code>node.js 0.10.15</code> and <code>bower 1.0.3</code>.</p>
  
  <p>I have a shell task which executes the following:</p>
  
  <pre><code>npm install
  bower install
  grunt clean package
  </code></pre>
  
  <p>The bower installation fails when building:</p>
  
  <pre><code>+ bower install
  
  path.js:360
          throw new TypeError('Arguments to path.join must be strings');
                ^
  TypeError: Arguments to path.join must be strings
      at path.js:360:15
      at Array.filter (native)
      at Object.exports.join (path.js:358:36)
      at Object.&lt;anonymous&gt; (/usr/lib/node_modules/bower/node_modules/
                             update-notifier/node_modules/configstore/configstore.js:9:7)
      at Module._compile (module.js:456:26)
      at Object.Module._extensions..js (module.js:474:10)
      at Module.load (module.js:356:32)
      at Function.Module._load (module.js:312:12)
      at Module.require (module.js:364:17)
      at require (module.js:380:17)
  
  Build step 'Execute shell' marked build as failure
  </code></pre>
  
  <p>When I'm executing <code>bower install</code> in a terminal while logged in as the Jenkins user, it works. The other mentioned commands work as expected (<code>npm</code>, <code>grunt</code>).</p>
  
  <p>Any ideas?</p>