nodenv-nvmrc icon indicating copy to clipboard operation
nodenv-nvmrc copied to clipboard

nodenv plugin that detects the node version based on .nvmrc.

nodenv-nvmrc

This is a plugin for nodenv that detects the node version based on the current tree's .nvmrc. .node-version files still take precedence.

When .nvmrc is configured with a range this plugin chooses the greatest installed version matching the range or exits with an error if none match.

Build Status

Installation

Installing with git

$ git clone https://github.com/ouchxp/nodenv-nvmrc.git $(nodenv root)/plugins/nodenv-nvmrc

Installing with Homebrew

Mac OS X users can install many nodenv plugins with Homebrew.

This is the recommended method of installation if you installed nodenv with Homebrew.

$ brew tap nodenv/nodenv
$ brew install nodenv-nvmrc

Usage

Once you've installed the plugin you can verify that it's working by cding into a project that has a .nvmrc file and does not have a .node-version file. From anywhere in the project's tree, run nodenv which node.

Gotcha

Due to the limitaion of nodenv's plugin system, some commands were not reading the version from .nvmrc.

  • nodenv install without version is not able to install new Node version specified in .nvmrc.
  • nodenv local without version is not able to retrieve the version specified in .nvmrc

Contributing

To run tests, install bats and nodenv, then run bats test in the base directory of this plugin

Credits

This project is heavily inspired by nodenv-package-json-engine[1].

Shell semver range support provided by sh-semver.