Skip to content

Instantly share code, notes, and snippets.

@peterycky
Created November 22, 2023 18:21
Show Gist options
  • Save peterycky/2d6a6efd602debba6fb894706b367344 to your computer and use it in GitHub Desktop.
Save peterycky/2d6a6efd602debba6fb894706b367344 to your computer and use it in GitHub Desktop.
ZSH nvm load node from current working directory
# nvm auto-switch node version
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
fi
elif [ "$node_version" != "$(nvm version default)" ]; then
# echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
@peterycky
Copy link
Author

Paste contents of this gist at the end of .zshrc file and run:

source ~/.zshrc

The zsh hook will be run automatically every time the path changes (practically on every cd in terminal).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment