mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-05-12 07:01:50 +00:00
Support deduction of nvm directory in zsh
In zsh nvm fails to deduce nvm's directory from nvm.sh, because `$BASH_SOURCE` is not present in zsh. Use the directory of `$0`, if its filename is `nvm.sh`. We use `$BASH_SOUCE` in bash, `$0` in zsh (and similar) and fallback to `~/.nvm` otherwise.
This commit is contained in:
parent
61b44097fe
commit
192b2ecb1b
8
nvm.sh
8
nvm.sh
@ -19,8 +19,12 @@ fi
|
||||
|
||||
# Auto detect the NVM_DIR
|
||||
if [ ! -d "$NVM_DIR" ]; then
|
||||
if [ -n "$BASH_SOURCE" ]; then
|
||||
export NVM_DIR=$(cd $NVM_CD_FLAGS $(dirname ${BASH_SOURCE[0]:-$0}) > /dev/null && pwd)
|
||||
if [ -n "${BASH_SOURCE}" ]; then
|
||||
export NVM_DIR=$(cd $NVM_CD_FLAGS $(dirname $BASH_SOURCE) > /dev/null && pwd)
|
||||
elif [ "$(basename $0)" = nvm.sh ]; then
|
||||
# Works in shells that put the path of the sourcee into $0. Unfortunately
|
||||
# dash is not among these.
|
||||
export NVM_DIR=$(cd $NVM_CD_FLAGS $(dirname $0) > /dev/null && pwd)
|
||||
else
|
||||
export NVM_DIR=$HOME/.nvm
|
||||
fi
|
||||
|
8
test/fast/$BASH_SOURCE should not be a problem in sh and zsh
Executable file
8
test/fast/$BASH_SOURCE should not be a problem in sh and zsh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo Testing bash
|
||||
bash -c '. ../../nvm.sh'
|
||||
echo Testing zsh
|
||||
zsh -c '. ../../nvm.sh'
|
||||
echo Testing sh
|
||||
sh -c '. ../../nvm.sh'
|
Loading…
Reference in New Issue
Block a user