Installs Node.js and manage npm
Include the nodejs recipe to install node on your system based on the default installation method:
include_recipe "nodejs"
Installation method can be customized with attribute node['nodejs']['install_method']
Install node from packages:
node['nodejs']['install_method'] = 'package' # Not necessary because it's the default
include_recipe "nodejs"
# Or
include_recipe "nodejs::nodejs_from_package"
Note that only apt (Ubuntu, Debian) appears to have up to date packages available.
Centos, RHEL, etc are non-functional (try nodejs_from_binary
for those).
Install node from official prebuilt binaries:
node['nodejs']['install_method'] = 'binary'
include_recipe "nodejs"
# Or
include_recipe "nodejs::nodejs_from_binary"
Install node from sources:
node['nodejs']['install_method'] = 'source'
include_recipe "nodejs"
# Or
include_recipe "nodejs::nodejs_from_source"
Npm is included in nodejs installs by default.
By default, we are using it and call it embedded
.
Adding recipe nodejs::npm
assure you to have npm installed and let you choose install method with node['nodejs']['npm']['install_method']
include_recipe "nodejs::npm"
Warning: This recipe will include the nodejs
recipe, which by default includes nodejs::nodejs_from_package
if you did not set node['nodejs']['install_method']
.
nodejs_npm
let you install npm packages from various sources:
- npm registry:
- name:
attribute :package
- version:
attribute :version
(optionnal) - url:
attribute :url
- for git use
git://{your_repo}
- from a json (packages.json by default):
attribute :json
- use
true
for default - use a
String
to specify json file
Packages can be installed globally (by default) or in a directory (by using attribute :path
)
You can append more specific options to npm command with attribute :options
array :
- use an array of options (w/ dash), they will be added to npm call.
- ex:
['--production','--force']
or['--force-latest']
This LWRP try to use npm bare as much as possible (no custom wrapper).
- Marius Ducea ([email protected])
- Nathan L Smith ([email protected])
- Guilhem Lettron ([email protected])
- Barthelemy Vessemont ([email protected])