Support `--install` option upon sourcing.

master
Jordan Harband 2014-12-26 12:19:35 -08:00
parent 274369dc40
commit 3df0caefa5
3 changed files with 52 additions and 1 deletions

9
nvm.sh
View File

@ -1111,7 +1111,14 @@ nvm() {
esac
}
if nvm ls default >/dev/null; then
if [ "_$1" = "_--install" ]; then
VERSION="$(nvm_alias default 2>/dev/null)"
if [ -n "$VERSION" ]; then
nvm install "$VERSION" >/dev/null
elif nvm_rc_version >/dev/null 2>&1; then
nvm install >/dev/null
fi
elif nvm ls default >/dev/null; then
nvm use default >/dev/null
elif nvm_rc_version >/dev/null 2>&1; then
nvm use >/dev/null

View File

@ -0,0 +1,20 @@
#!/bin/sh
die () { echo $@ ; exit 1; }
echo '0.10.2' > ../../.nvmrc || die 'creation of .nvmrc failed'
. ../../nvm.sh --install
EXIT_CODE="$(echo $?)"
echo 'sourcing complete.'
nvm_version 0.10.2 >/dev/null 2>&1 || die "v0.10.2 not installed: $(nvm ls)"
[ "_$(nvm_rc_version | \grep -o -e 'with version .*$')" = "_with version <0.10.2>" ] || die "nvm_rc_version $(nvm_rc_version)"
[ "_$EXIT_CODE" = "_0" ] || die "sourcing returned nonzero exit code: $EXIT_CODE"
NVM_LS_CURRENT="$(nvm ls current | \grep -o v0.10.2)"
[ "_$NVM_LS_CURRENT" = '_v0.10.2' ] || die "'nvm ls current' did not return '-> v0.10.2', got '$NVM_LS_CURRENT' `nvm ls`"

View File

@ -0,0 +1,24 @@
#!/bin/sh
die () { echo $@ ; exit 1; }
echo '0.10.2' > ../../alias/default || die 'creation of default alias failed'
echo 'sourcing nvm with --install...'
. ../../nvm.sh --install
EXIT_CODE="$(echo $?)"
echo 'sourcing complete.'
nvm_version 0.10.2 >/dev/null 2>&1 || die "v0.10.2 not installed: $(nvm ls)"
[ "_$EXIT_CODE" = "_0" ] || die "sourcing returned nonzero exit code: $EXIT_CODE"
NVM_LS_CURRENT="$(nvm ls current | \grep -o v0.10.2)"
[ "_$NVM_LS_CURRENT" = '_v0.10.2' ] || die "'nvm ls current' did not return '-> v0.10.2', got '$NVM_LS_CURRENT'"
NVM_ALIAS_DEFAULT="$(nvm alias default)"
[ "_$NVM_ALIAS_DEFAULT" = "_default -> 0.10.2 (-> v0.10.2)" ] \
|| die "'nvm alias default did not return 'default -> 0.10.2 (-> v0.10.2)', got '$NVM_ALIAS_DEFAULT'"