Node.js version manager
Perl HTML Shell
Clone or download
Latest commit 7f60479 Mar 10, 2018
Failed to load latest commit information.
completions Add fish completion Mar 7, 2016
t Fix tests Mar 10, 2018
.gitignore Fix tests Mar 10, 2018
.travis.yml Remove 5.8 Mar 31, 2013 Release v1.0.0 Mar 10, 2018
LICENSE Add LICENSE Dec 7, 2011 Change command interface Mar 10, 2018
carton.lock Support cpanfile Mar 31, 2013
cpanfile Separate command test Jan 26, 2015
nodebrew Release v1.0.0 Mar 10, 2018


Build Status

Node.js version manager.


Install with curl.

$ curl -L | perl - setup

Or, download and setup.

$ wget
$ perl nodebrew setup

Add PATH setting your shell config file (.bashrc or .zshrc).

export PATH=$HOME/.nodebrew/current/bin:$PATH

Reload config.

$ source ~/.bashrc


$ nodebrew help

NODEBREW_ROOT (which indicates nodebrew's home directory) is configurable. If you want to install nodebrew manually, please configure such as follows.

export NODEBREW_ROOT=/path/to/.nodebrew

The default value is $HOME/.nodebrew.


nodebrew install <version>

Install Node.js.

$ nodebrew install v8.9.4

# or
$ nodebrew install latest # latest version
$ nodebrew install stable # stable version
$ nodebrew install v8.9   # v8.9 latest
$ nodebrew install 8.9.4  # without `v`

nodebrew compile <version>

If you want to compile from source, you can use compile command.

$ nodebrew compile v8.9.4

Pass configure options to Node.js.

$ nodebrew compile v8.9.4 --v8-options=--harmony

nodebrew use <version>

Switch a version to use.

$ nodebrew use v8.9.4
$ node -v

# or
$ nodebrew use latest # latest version
$ nodebrew use stable # stable version
$ nodebrew use v8.9   # v8.9 latest
$ nodebrew use 8.9.4  # without `v`

nodebrew ls or nodebrew list

List all installed versions.

$ nodebrew ls

current: v8.9.4

nodebrew ls-remote

List remote versions.

$ nodebrew ls-remote
v0.0.1    v0.0.2    v0.0.3    v0.0.4    v0.0.5    v0.0.6    

nodebrew ls-all

List installed and remote versions.

$ nodebrew ls-all
v0.0.1    v0.0.2    v0.0.3    v0.0.4    v0.0.5    v0.0.6    


current: v8.9.4

nodebrew alias

Set alias.

$ nodebrew alias default v8.9.4
default -> v8.9.4

$ nodebrew use default
use v8.9.4

$ nodebrew unalias default
remove default

nodebrew uninstall <version>

Uninstall Node.js.

$ nodebrew uninstall v8.9.4
v8.9.4 uninstalled

nodebrew selfupdate

Update nodebrew itself.

$ nodebrew selfupdate

nodebrew exec <version>

Execute other version temporary.

$ nodebrew exec v8.9.4 -- node app.js

All commands

$ nodebrew help                         Show this message
$ nodebrew install <version>            Download and install <version> (from binary)
$ nodebrew compile <version>            Download and install <version> (from source)
$ nodebrew install-binary <version>     Alias of `install` (For backword compatibility)
$ nodebrew uninstall <version>          Uninstall <version>
$ nodebrew use <version>                Use <version>
$ nodebrew list                         List installed versions
$ nodebrew ls                           Alias for `list`
$ nodebrew ls-remote                    List remote versions
$ nodebrew ls-all                       List remote and installed versions
$ nodebrew alias <key> <value>          Set alias
$ nodebrew unalias <key>                Remove alias
$ nodebrew clean <version> | all        Remove source file
$ nodebrew selfupdate                   Update nodebrew
$ nodebrew migrate-package <version>    Install global NPM packages contained in <version> to current version
$ nodebrew exec <version> -- <command>  Execute <command> using specified <version>


Install dependencies for testing.

$ carton install

Run test.

$ carton exec -- prove -lvr


MIT © Kazuhito Hokamura