Last active
November 7, 2024 09:18
-
-
Save timble-one/e6ec5dce81b5bbc1c07a6dd1ab715362 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # nvm | |
| export NVM_DIR="$HOME/.nvm" | |
| [ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh" # This loads nvm | |
| [ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion | |
| autoload -U add-zsh-hook | |
| load-nvmrc() { | |
| # this line exits when no .nvmrc file exists in the current directory | |
| # as a consequence of this, this script won't switch back to the default version, when leaving a directory containing a .nvmrc-file | |
| # when cpu gets faster in the future, it could make sense to remove this line again | |
| [[ -a .nvmrc ]] || return | |
| 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment