Skip to content

Instantly share code, notes, and snippets.

@ar2pi
Created August 21, 2021 19:43
Show Gist options
  • Save ar2pi/02d14fbc6e987056ae0efd301faf64de to your computer and use it in GitHub Desktop.
Save ar2pi/02d14fbc6e987056ae0efd301faf64de to your computer and use it in GitHub Desktop.
Autoload .nvmrc
#!/usr/bin/env zsh
#
# Call `nvm use` automatically in a directory with a .nvmrc file, silently
#
# Usage:
# Add this to your ~/.zshrc
#
# Taken from https://github.com/nvm-sh/nvm#zsh
# Difference being that this one is less verbose (like pyenv or goenv)
#
autoload -U add-zsh-hook
load-nvmrc() {
local node_version="$(nvm version)"
local nvmrc_path="$(nvm_find_nvmrc)"
if [[ -n $nvmrc_path ]]; then
local nvmrc_node_version=$(nvm version $(cat ${nvmrc_path}))
if [[ $nvmrc_node_version = "N/A" ]]; then
nvm install
elif [[ $nvmrc_node_version != $node_version ]]; then
nvm use > /dev/null
fi
elif [[ $node_version != "$(nvm version default)" ]]; then
nvm use default > /dev/null
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment