Merge pull request #1145 from robotlolita/patch-missing-version-error
`nvm install`: Improve error messages for missing versions
commit
f3ce324e22
8
nvm.sh
8
nvm.sh
|
@ -256,11 +256,15 @@ nvm_ensure_version_installed() {
|
||||||
if [ "_$EXIT_CODE" != "_0" ] || ! nvm_is_version_installed "$LOCAL_VERSION"; then
|
if [ "_$EXIT_CODE" != "_0" ] || ! nvm_is_version_installed "$LOCAL_VERSION"; then
|
||||||
VERSION="$(nvm_resolve_alias "$PROVIDED_VERSION")"
|
VERSION="$(nvm_resolve_alias "$PROVIDED_VERSION")"
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
nvm_err "N/A: version \"$PROVIDED_VERSION -> $VERSION\" is not yet installed"
|
nvm_err "N/A: version \"$PROVIDED_VERSION -> $VERSION\" is not yet installed."
|
||||||
|
nvm_err ""
|
||||||
|
nvm_err "You need to run \"nvm install $PROVIDED_VERSION\" to install it before using it."
|
||||||
else
|
else
|
||||||
local PREFIXED_VERSION
|
local PREFIXED_VERSION
|
||||||
PREFIXED_VERSION="$(nvm_ensure_version_prefix "$PROVIDED_VERSION")"
|
PREFIXED_VERSION="$(nvm_ensure_version_prefix "$PROVIDED_VERSION")"
|
||||||
nvm_err "N/A: version \"${PREFIXED_VERSION:-$PROVIDED_VERSION}\" is not yet installed"
|
nvm_err "N/A: version \"${PREFIXED_VERSION:-$PROVIDED_VERSION}\" is not yet installed."
|
||||||
|
nvm_err ""
|
||||||
|
nvm_err "You need to run \"nvm install $PROVIDED_VERSION\" to install it before using it."
|
||||||
fi
|
fi
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -11,7 +11,9 @@ mkdir -p "$(nvm_version_path v0.1.2)"
|
||||||
|
|
||||||
OUTPUT="$(nvm_ensure_version_installed foo 2>&1)"
|
OUTPUT="$(nvm_ensure_version_installed foo 2>&1)"
|
||||||
EXIT_CODE=$?
|
EXIT_CODE=$?
|
||||||
EXPECTED_OUTPUT='N/A: version "foo" is not yet installed'
|
EXPECTED_OUTPUT='N/A: version "foo" is not yet installed.
|
||||||
|
|
||||||
|
You need to run "nvm install foo" to install it before using it.'
|
||||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed foo' to give $EXPECTED_OUTPUT, got $OUTPUT"
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed foo' to give $EXPECTED_OUTPUT, got $OUTPUT"
|
||||||
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed foo' to exit with 1, got $EXIT_CODE"
|
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed foo' to exit with 1, got $EXIT_CODE"
|
||||||
|
|
||||||
|
@ -23,7 +25,9 @@ EXIT_CODE=$?
|
||||||
# Special case for "iojs"
|
# Special case for "iojs"
|
||||||
OUTPUT="$(nvm_ensure_version_installed iojs 2>&1)"
|
OUTPUT="$(nvm_ensure_version_installed iojs 2>&1)"
|
||||||
EXIT_CODE=$?
|
EXIT_CODE=$?
|
||||||
EXPECTED_OUTPUT='N/A: version "iojs" is not yet installed'
|
EXPECTED_OUTPUT='N/A: version "iojs" is not yet installed.
|
||||||
|
|
||||||
|
You need to run "nvm install iojs" to install it before using it.'
|
||||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed iojs' to give $EXPECTED_OUTPUT, got $OUTPUT"
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "expected 'nvm_ensure_version_installed iojs' to give $EXPECTED_OUTPUT, got $OUTPUT"
|
||||||
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed iojs' to exit with 1, got $EXIT_CODE"
|
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm_ensure_version_installed iojs' to exit with 1, got $EXIT_CODE"
|
||||||
|
|
||||||
|
|
|
@ -5,5 +5,12 @@ die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
. ../../../nvm.sh
|
||||||
|
|
||||||
[ "$(nvm run 0.2 --version 2>&1)" = 'N/A: version "v0.2" is not yet installed' ] || die "\`nvm run\` with an uninstalled node version failed to error out correctly"
|
EXPECTED_OUTPUT='N/A: version "v0.2" is not yet installed.
|
||||||
[ "$(nvm run iojs-0.2 --version 2>&1)" = 'N/A: version "iojs-v0.2" is not yet installed' ] || die "\`nvm run\` with an uninstalled iojs version failed to error out correctly"
|
|
||||||
|
You need to run "nvm install 0.2" to install it before using it.'
|
||||||
|
[ "_$(nvm run 0.2 --version 2>&1)" = "_$EXPECTED_OUTPUT" ] || die "\`nvm run\` with an uninstalled node version failed to error out correctly"
|
||||||
|
|
||||||
|
EXPECTED_OUTPUT='N/A: version "iojs-v0.2" is not yet installed.
|
||||||
|
|
||||||
|
You need to run "nvm install iojs-0.2" to install it before using it.'
|
||||||
|
[ "_$(nvm run iojs-0.2 --version 2>&1)" = "_$EXPECTED_OUTPUT" ] || die "\`nvm run\` with an uninstalled iojs version failed to error out correctly"
|
||||||
|
|
Loading…
Reference in New Issue