diff --git a/modules/node/README.md b/modules/node/README.md index 5f0c3caf..66e9784d 100644 --- a/modules/node/README.md +++ b/modules/node/README.md @@ -10,6 +10,13 @@ nvm [nvm][5] allows for managing multiple, isolated Node.js installations in the home directory. +nodenv +------ + +[nodenv][6] does one thing well. nodenv is concerned solely with switching +Node versions. It's simple and predictable, Just Works, and is rock solid in +production. nodenv is forked from the popular [rbenv][7]. + Functions --------- @@ -43,3 +50,5 @@ Authors [3]: http://nodejs.org/api [4]: https://github.com/sorin-ionescu/prezto/issues [5]: https://github.com/creationix/nvm +[6]: https://github.com/nodenv/nodenv +[7]: https://github.com/sstephenson/rbenv diff --git a/modules/node/init.zsh b/modules/node/init.zsh index 6d600789..b64b8a4c 100644 --- a/modules/node/init.zsh +++ b/modules/node/init.zsh @@ -14,6 +14,15 @@ if [[ -s "$HOME/.nvm/nvm.sh" ]]; then elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2>/dev/null)" ]]; then source $(brew --prefix nvm)/nvm.sh +# Load manually installed nodenv into the shell session. +elif [[ -s "$HOME/.nodenv/bin/nodenv" ]]; then + path=("$HOME/.nodenv/bin" $path) + eval "$(nodenv init - --no-rehash zsh)" + +# Load package manager installed nodenv into the shell session. +elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nodenv 2>/dev/null)" ]]; then + eval "$(nodenv init - --no-rehash zsh)" + # Return if requirements are not found. elif (( ! $+commands[node] )); then return 1