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
nvshim
installednode
shim work in all directories, you’ll need to stop sourcingnvm.sh
in your shell rc i.e.bash_profile
,zshrc
etc.- Just comment out the
source /Users/me/.nvm/nvm.sh
in your shell startup script. This is optional and preventsnvm
from taking control of your shell path on launch. - With
nvm
shimmed,nvm use
commands do not have any effect on the shell, thenode
version is already always gotten from the config automatically.
- Just comment out the
- The scope of this project only shims the
node
,npm
,npx
andnvm
binaries. Any globally installed modules are not automatically shimmed.- It is still easy to run a specific global bin e.g.
npx eslint
will alway run the version ofeslint
installed via thenode
version 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"