A cookbook for installing and managing node and for managing npm packages



This repo is no longer the recommended cookbook to use for installing and maintaining node and npm. The 'nodejs' cookbook here would be the one to use: github.com/redguide/nodejs/


This cookbook will deploy node and npm (node package manager) to your system. It also defines providers to install/uninstall node module and start/stop/restart node servers.


  • a working git framework (for example provided by Opscode git cookbook)

Tested on ubuntu. Should work on other system with upstart.


  • node/revision : indicates which revision to install. Default is the latest ('HEAD'). Since node evolves very quickly and is not always that stable, you might want to set it to a stable version (for example 'v0.4.3')

  • `node[:packages]` - An array of npm packages to be installed globally


Include the node recipe to download, compile and install node along with npm.

Optionally, you can add NPM packages by creating a packages array:

“` default_attributes({

node: {
  packages: ['coffee-script', 'lineman']

}) “`


node_server provider to start/stop server. The following example will start a provided script with node. Logs can be found in /var/log/node-my_node_server.log.

node_server "my_node_server" do
    script "/path/to/your/node/script.js" # mandatory
    user "my_user" # default : nodejs
    dependency ["required","node","modules"] # default []. Will be installed with npm before starting the server
    args "arguments for your script" # default ""
    init_style :runit # default - by platform. Spported values: :upstart, :init, :runit
    action :start # Will start a node server. In [stop,start,restart], default :start

node_npm provider to manage nodejs modules. The following example will install the connect module for node.

node_npm "connect" do
    action :install



  • Emmanuel Prochasson (<emmanuel@tikibooth.com>)

  • Ed Bosher (<edbo@tikibooth.com>)


  • Jon Wood (<jon@blankpad.net>)


2011, Tikibooth Limited

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.