node-build-prerelease is an nodenv plugin (or more precisely, a node-build plugin) that provides build definitions for nodejs prereleases (primarily release candidates).
Mac OS X users can install node-build-prerelease with the Homebrew. Installing via Homebrew will make node-build aware of nodejs prereleases automatically.
This is the recommended method of installation if you installed nodenv or node-build with Homebrew.
brew install nodenv/nodenv/node-build-prerelease
There is the added delay between when a new version of node-build-prerelease is released, and when the homebrew formula is updated to point to it. Typically this additional delay is only a matter of days and is well worth the simplicity of using homebrew to manage nodenv plugins.
(And if you really want to be on the bleeding edge of node-build, you can skip waiting on node-build/node-build-prerelease to update and scrape new node releases yourself with node-build-update-defs.)
Installing node-build-prerelease as a nodenv plugin will make node-build aware of the prerelease build definitions automatically.
git clone https://github.com/nodenv/node-build-prerelease.git $(nodenv root)/plugins/node-build-prerelease
This will install the latest development version of node-build-prerelease into the $(nodenv root)/plugins/node-build-prerelease
directory.
From that directory, you can also check out a specific release tag.
To update node-build-prerelease, run git pull
to download the latest changes or use nodenv-update.
Installing via npm is possible, though not really recommended. Keep in mind that there is the risk you are installing a nodenv plugin into a node that is itself managed by nodenv.
npm install -g @nodenv/node-build-prerelease
After installing, node-build will need to be made aware of the new build definitions. see setting node_build_definitions
For precise control over the installation, you can install it manually.
git clone https://github.com/nodenv/node-build-prerelease.git
cd node-build-prerelease
./install.sh
This will install node-build-prerelease into /usr/local
.
If you do not have write permission to /usr/local
, you will need to run sudo ./install.sh
instead.
You can install to a different prefix by setting the PREFIX
environment variable.
(Be aware, if you install to a prefix other than that which node-build is installed, you will need to manually set NODE_BUILD_DEFINITIONS
.)
To update node-build-prerelease after it has been installed, run git pull
in your cloned copy of the repository, then re-run the install script.
After installing, node-build will need to be made aware of the new build definitions.
see setting node_build_definitions
If installed via Homebrew, as a nodenv plugin, or manually using the same PREFIX
as node-build, then node-build should automatically be aware of the new prerelease build definitions.
Verify by running nodenv install --list
to see if it includes the release candidate builds. (e.g. 8.0.0-rc.2)
Otherwise, node-build will need to be made aware of the new build definitions manually.
NODE_BUILD_DEFINITIONS
is a colon-separated list of paths that include build definitions.
This is done by adding /path/to/node-build-prerelease/share/node-build
to the NODE_BUILD_DEFINITIONS
variable.
You can add node-build-prerelease's share path to it in your .bashrc
:
export NODE_BUILD_DEFINITIONS=$NODE_BUILD_DEFINITIONS:/path/to/node-build-prerelease/share/node-build
Or add it only when necessary:
NODE_BUILD_DEFINITIONS=$NODE_BUILD_DEFINITIONS:/path/to/node-build-prerelease/share/node-build nodenv install --list
Either way, you'll need to know the exact location of where node-build-prerelease was installed.
If installed globally via a nodenv-managed npm, it would look something like:
$(nodenv prefix)/lib/node_modules/@nodenv/node-build-prerelease/share/node-build
.
If installed manually to PREFIX=/some/path
, it would look something like:
/some/path/share/node-build
.
Both nodenv install
and node-build
accept a path to a custom definition file in place of a version name.
nodenv install /path/to/node-build-prerelease/share/node-build/8.0.0-rc.2
Or:
node-build /path/to/node-build-prerelease/share/node-build/8.0.0-rc.2 /dest/path/8.0.0-rc.2