Compare commits

...

4 Commits

Author SHA1 Message Date
Chris Seitz
a972a3fe33
Merge 387d92cd4d5b452175dd2df837f24adf25789331 into 5dc31ac51b08f910a2de1596b37a6a3dddd5e7b7 2024-10-07 20:13:16 +05:30
Reetik Rajan
5dc31ac51b
[patch] give a more helpful message when lts alias is mistakenly used 2024-10-05 09:21:42 +05:30
Chris Seitz
387d92cd4d
Merge pull request #1 from cseitz-forks/cseitz-nvm-no-help-1
Added NVM_NO_HELP flag to nvm.sh
2023-06-06 13:34:03 -04:00
Chris Seitz
85e1d29fa8
Added NVM_NO_HELP flag to nvm.sh
This allows you to prevent NVM from intercepting help calls.
2023-06-06 13:31:41 -04:00
2 changed files with 28 additions and 4 deletions

13
nvm.sh
View File

@ -700,10 +700,12 @@ nvm_ensure_version_installed() {
nvm_err "N/A: version \"${PREFIXED_VERSION:-$PROVIDED_VERSION}\" is not yet installed."
fi
nvm_err ""
if [ "${IS_VERSION_FROM_NVMRC}" != '1' ]; then
nvm_err "You need to run \`nvm install ${PROVIDED_VERSION}\` to install and use it."
else
nvm_err 'You need to run `nvm install` to install and use the node version specified in `.nvmrc`.'
if [ "${PROVIDED_VERSION}" = 'lts' ]; then
nvm_err '`lts` is not an alias - you may need to run `nvm install --lts` to install and `nvm use --lts` to use it.'
elif [ "${IS_VERSION_FROM_NVMRC}" != '1' ]; then
nvm_err "You need to run \`nvm install ${PROVIDED_VERSION}\` to install and use it."
else
nvm_err 'You need to run `nvm install` to install and use the node version specified in `.nvmrc`.'
fi
return 1
fi
@ -3012,6 +3014,9 @@ nvm() {
--) break ;;
'-h'|'help'|'--help')
NVM_NO_COLORS=""
if [[ "$NVM_NO_HELP" -eq 1 ]]; then
break;
fi
for j in "$@"; do
if [ "${j}" = '--no-colors' ]; then
NVM_NO_COLORS="${j}"

View File

@ -0,0 +1,19 @@
#!/bin/sh
set -ex
die () { echo "$@" ; exit 1; }
\. ../../../nvm.sh
# Deactivate any active node version
nvm deactivate >/dev/null 2>&1 || die 'deactivate failed'
# Attempt to use 'lts' without '--' and capture the error message
ERROR_OUTPUT=$(nvm use lts 2>&1) || true
EXPECTED_ERROR='`lts` is not an alias - you may need to run `nvm install --lts` to install and `nvm use --lts` to use it.'
# Check if the error message matches the expected output
echo "$ERROR_OUTPUT" | grep -q "$EXPECTED_ERROR" \
|| die "Expected error message not found. Got: $ERROR_OUTPUT"