Version information
Start using this module
Add this module to your Puppetfile:
mod 'willdurand-nodejs', '1.4.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-nodejs
This module allows to install Node.js and NPM. This module is published on the Puppet Forge as willdurand/nodejs.
Installation
Get the module by cloning the repository:
git clone git://github.com/willdurand/puppet-nodejs.git modules/nodejs
Or use the Puppet Module Tool:
puppet module install willdurand/nodejs
Requirements
This modules depends on puppetlabs/stdlib and maestrodev/puppet-wget. You MUST clone them if you don't use the Puppet Module Tool:
git clone git://github.com/puppetlabs/puppetlabs-stdlib.git modules/stdlib
git clone git://github.com/maestrodev/puppet-wget.git modules/wget
Usage
Include the nodejs
class:
include nodejs
You can specify a Node.js version by specifing it:
class { 'nodejs':
version => 'v0.10.17',
}
You can install different versions of Node.js thanks to the nodejs::install
definition:
nodejs::install { 'v0.10.17':
version => 'v0.10.17',
}
Shortcuts are provided to easily install the 'latest' or 'stable' release by
setting the version
parameter to latest
or stable
. It will
automatically look for the last release available.
class { 'nodejs':
version => 'stable',
}
By default, this module creates symlinks for each Node.js version installed into
/usr/local/bin
. A nodejs::install define creates a versioned symlink like /usr/local/bin/node-v0.10.17
. The class nodejs
creates the default symlink /usr/local/bin/node
. You can change this behavior by using the target_dir
parameter.
Also, this module installs NPM by default. You can set the
with_npm
parameter to false
to not install it.
This module will make install
Node.js by default, to use prebuilt versions
distributed by Node.js on http://nodejs.org/dist/ set the make_install
parameter to false
.
class { 'nodejs':
version => 'v0.10.17',
make_install => false,
}
or
nodejs::install { 'v0.10.17':
version => 'v0.10.17',
make_install => false,
}
NPM Provider
This module adds a new provider: npm
. You can use it as usual:
package { 'express':
provider => npm
}
Running the tests
Install the dependencies using Bundler:
BUNDLE_GEMFILE=.gemfile bundle install
Run the following command:
BUNDLE_GEMFILE=.gemfile bundle exec rake test
Known Limitations
- Just a single nodejs::install define of versions below v0.6.3 is supported!
License
puppet-nodejs is released under the MIT License. See the bundled LICENSE file for details.
Dependencies
Copyright (c) 2012-2013 William Durand <william.durand1@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.