Installing Latest Node.JS And NPM Modules With Puppet
PuppetLabs' nodejs module is unfortunately quite out of date, providing Node.js 0.6, however there is a simple way to get the latest Node:
Stealing the npm package provider:
Puppet Code:
- Install the puppetlabs-apt module
- Add ppa:chris-lea/node.js to apt
- Install nodejs
- Steal the npm provider from the puppetlabs-nodejs module
- Install a npm module
Stealing the npm package provider:
cd your/puppet/modules/directory
mkdir -p npm-provider/lib/puppet/provider/package
cd npm-provider/lib/puppet/provider/package
wget https://raw.github.com/puppetlabs/puppetlabs-nodejs/master/lib/puppet/provider/package/npm.rb
Puppet Code:
class prepare {
class { 'apt': }
apt::ppa { 'ppa:chris-lea/node.js': }
}
include prepare
package {'nodejs': ensure => present, require => Class['prepare'],}
package {'grunt-cli':
ensure => present,
provider => 'npm',
require => Package['nodejs'],
}