Skip to content

Repository files navigation

CK VersionBuild StatusGitter chat

DESCRIPTION

Installs node.js/io.js and manage npm

USAGE

Include the nodejs recipe to install node on your system based on the default installation method:

include_recipe "nodejs"

### Engine

You can select different engine by setting node['nodejs']['engine']

node['nodejs']['engine'] => 'node' # default
node['nodejs']['engine'] => 'iojs'

You can also use recipes nodejs::nodejs or nodejs::iojs.

Install methods

Package

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).

Binary

Install node from official prebuilt binaries:

node['nodejs']['install_method'] = 'binary'
include_recipe "nodejs"
# Or
include_recipe "nodejs::nodejs_from_binary"

Source

Install node from sources:

node['nodejs']['install_method'] = 'source'
include_recipe "nodejs"
# Or
include_recipe "nodejs::nodejs_from_source"

NPM

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'].

LWRP

nodejs_npm

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).

Packages

nodejs_npm"express"nodejs_npm"async"doversion"0.6.2"endnodejs_npm"request"dourl"github mikeal/request"endnodejs_npm"grunt"dopath"/home/random/grunt"jsontrueuser"random"end

Working Examples

Or add packages via attributes (which accept the same attributes as the LWRP above):

"nodejs": {
"npm_packages": [
{
"name": "express"
},
{
"name": "async",
"version": "0.6.2"
},
{
"name": "request",
"url": "github mikeal/request"
}
{
"name": "grunt",
"path": "/home/random/grunt",
"json": true,
"user": "random"
}
]
}

AUTHORS

About

Chef cookbook for nodejs

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages