`nvm install`: Add support for `--lts` and `--lts=argon`
parent
44f4817f7d
commit
9bd743e0be
59
nvm.sh
59
nvm.sh
|
@ -1805,6 +1805,8 @@ nvm() {
|
||||||
nvm_echo ' nvm --version Print out the latest released version of nvm'
|
nvm_echo ' nvm --version Print out the latest released version of nvm'
|
||||||
nvm_echo ' nvm install [-s] <version> Download and install a <version>, [-s] from source. Uses .nvmrc if available'
|
nvm_echo ' nvm install [-s] <version> Download and install a <version>, [-s] from source. Uses .nvmrc if available'
|
||||||
nvm_echo ' --reinstall-packages-from=<version> When installing, reinstall packages installed in <node|iojs|node version number>'
|
nvm_echo ' --reinstall-packages-from=<version> When installing, reinstall packages installed in <node|iojs|node version number>'
|
||||||
|
nvm_echo ' --lts When installing, only select from LTS (long-term support) versions'
|
||||||
|
nvm_echo ' --lts=<LTS name> When installing, only select from versions for a specific LTS line'
|
||||||
nvm_echo ' nvm uninstall <version> Uninstall a version'
|
nvm_echo ' nvm uninstall <version> Uninstall a version'
|
||||||
nvm_echo ' nvm use [--silent] <version> Modify PATH to use <version>. Uses .nvmrc if available'
|
nvm_echo ' nvm use [--silent] <version> Modify PATH to use <version>. Uses .nvmrc if available'
|
||||||
nvm_echo ' nvm exec [--silent] <version> [<command>] Run <command> on <version>. Uses .nvmrc if available'
|
nvm_echo ' nvm exec [--silent] <version> [<command>] Run <command> on <version>. Uses .nvmrc if available'
|
||||||
|
@ -1879,17 +1881,13 @@ nvm() {
|
||||||
|
|
||||||
if [ $# -lt 2 ]; then
|
if [ $# -lt 2 ]; then
|
||||||
version_not_provided=1
|
version_not_provided=1
|
||||||
nvm_rc_version
|
|
||||||
if [ -z "$NVM_RC_VERSION" ]; then
|
|
||||||
>&2 nvm --help
|
|
||||||
return 127
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
shift
|
shift
|
||||||
|
|
||||||
local nobinary
|
local nobinary
|
||||||
nobinary=0
|
nobinary=0
|
||||||
|
local LTS
|
||||||
while [ $# -ne 0 ]
|
while [ $# -ne 0 ]
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
@ -1902,9 +1900,13 @@ nvm() {
|
||||||
nvm_get_make_jobs "$1"
|
nvm_get_make_jobs "$1"
|
||||||
shift # consume job count
|
shift # consume job count
|
||||||
;;
|
;;
|
||||||
--lts*)
|
--lts)
|
||||||
nvm_err 'installing based on LTS filtering is not yet supported.'
|
LTS='*'
|
||||||
return 12
|
shift
|
||||||
|
;;
|
||||||
|
--lts=*)
|
||||||
|
LTS="${1##--lts=}"
|
||||||
|
shift
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
break # stop parsing args
|
break # stop parsing args
|
||||||
|
@ -1913,21 +1915,48 @@ nvm() {
|
||||||
done
|
done
|
||||||
|
|
||||||
local provided_version
|
local provided_version
|
||||||
provided_version="$1"
|
provided_version="${1-}"
|
||||||
|
|
||||||
if [ -z "$provided_version" ]; then
|
if [ -z "$provided_version" ]; then
|
||||||
if [ $version_not_provided -ne 1 ]; then
|
if [ "_${LTS-}" = '_*' ]; then
|
||||||
|
nvm_echo 'Installing latest LTS version.'
|
||||||
|
if [ $# -gt 0 ]; then
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
elif [ "_${LTS-}" != '_' ]; then
|
||||||
|
nvm_echo "Installing with latest version of LTS line: $LTS"
|
||||||
|
if [ $# -gt 0 ]; then
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
else
|
||||||
nvm_rc_version
|
nvm_rc_version
|
||||||
|
if [ $version_not_provided -eq 1 ]; then
|
||||||
|
if [ -z "$NVM_RC_VERSION" ]; then
|
||||||
|
>&2 nvm --help
|
||||||
|
return 127
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
provided_version="$NVM_RC_VERSION"
|
provided_version="$NVM_RC_VERSION"
|
||||||
else
|
fi
|
||||||
|
elif [ $# -gt 0 ]; then
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VERSION="$(NVM_VERSION_ONLY=true nvm_remote_version "$provided_version")"
|
VERSION="$(NVM_VERSION_ONLY=true NVM_LTS="${LTS-}" nvm_remote_version "$provided_version")"
|
||||||
|
|
||||||
if [ "_$VERSION" = "_N/A" ]; then
|
if [ "_$VERSION" = "_N/A" ]; then
|
||||||
nvm_err "Version '$provided_version' not found - try \`nvm ls-remote\` to browse available versions."
|
local LTS_MSG
|
||||||
|
local REMOTE_CMD
|
||||||
|
if [ "${LTS-}" = '*' ]; then
|
||||||
|
LTS_MSG='(with LTS filter) '
|
||||||
|
REMOTE_CMD='nvm ls-remote --lts'
|
||||||
|
elif [ -n "${LTS-}" ]; then
|
||||||
|
LTS_MSG="(with LTS filter '$LTS') "
|
||||||
|
REMOTE_CMD="nvm ls-remote --lts=${LTS}"
|
||||||
|
else
|
||||||
|
REMOTE_CMD='nvm ls-remote'
|
||||||
|
fi
|
||||||
|
nvm_err "Version '$provided_version' ${LTS_MSG-}not found - try \`${REMOTE_CMD}\` to browse available versions."
|
||||||
return 3
|
return 3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1974,7 +2003,11 @@ nvm() {
|
||||||
if nvm use "$VERSION" && [ ! -z "$REINSTALL_PACKAGES_FROM" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then
|
if nvm use "$VERSION" && [ ! -z "$REINSTALL_PACKAGES_FROM" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then
|
||||||
nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
|
nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
|
||||||
fi
|
fi
|
||||||
|
if [ -n "${LTS-}" ]; then
|
||||||
|
nvm_ensure_default_set "lts/${LTS}"
|
||||||
|
else
|
||||||
nvm_ensure_default_set "$provided_version"
|
nvm_ensure_default_set "$provided_version"
|
||||||
|
fi
|
||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue