NVM Shim

Automagically use the correct version of node with nvm exec functionality.
No more
nvm use
This will use existing .nvmrc file, falling back to the nvm alias default version if no config detected.
Installation
Pip
pip install nvshim
Github
pip install git+git://github.com/iamogbz/nvshim.git
Configuration
Reads all configuration from the environment.
NVM_DIR
Relies on nvm being installed and configured correctly.
NVSHIM_AUTO_INSTALL
Set to 1 or true to auto install specified version of node if not installed by nvm.
NVSHIM_VERBOSE
Set to 1 or true to show more information on the shimmed node process.
Otherwise set to 0 or false or nothing.
Caveats
- To allow the
nvshiminstallednodeshim work in all directories, you’ll need to stop sourcingnvm.shin your shell rc i.e.bash_profile,zshrcetc.- Just comment out the
source /Users/me/.nvm/nvm.shin your shell startup script. This is optional and preventsnvmfrom taking control of your shell path on launch. - With
nvmshimmed,nvm usecommands do not have any effect on the shell, thenodeversion is already always gotten from the config automatically.
- Just comment out the
- The scope of this project only shims the
node,npm,npxandnvmbinaries. Any globally installed modules are not automatically shimmed.- It is still easy to run a specific global bin e.g.
npx eslintwill alway run the version ofeslintinstalled via thenodeversion for the current shell. - Indicate your interest in having this tool shim all binaries installed via node by leaving a comment here.
- It is still easy to run a specific global bin e.g.
Contribution
All forms of contribution welcome, please see guide.
make install
make tests a="--snapshot-update"