mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-10-26 04:10:36 +08:00
[Fix] nvm install: show proper version in .nvmrc install instructions
This commit is contained in:
committed by
Jordan Harband
parent
7d86701067
commit
9e884b8d7b
23
nvm.sh
23
nvm.sh
@@ -506,6 +506,8 @@ nvm_version_path() {
|
||||
nvm_ensure_version_installed() {
|
||||
local PROVIDED_VERSION
|
||||
PROVIDED_VERSION="${1-}"
|
||||
local IS_VERSION_FROM_NVMRC
|
||||
IS_VERSION_FROM_NVMRC="${2-}"
|
||||
if [ "${PROVIDED_VERSION}" = 'system' ]; then
|
||||
if nvm_has_system_iojs || nvm_has_system_node; then
|
||||
return 0
|
||||
@@ -527,7 +529,11 @@ nvm_ensure_version_installed() {
|
||||
nvm_err "N/A: version \"${PREFIXED_VERSION:-$PROVIDED_VERSION}\" is not yet installed."
|
||||
fi
|
||||
nvm_err ""
|
||||
nvm_err "You need to run \"nvm install ${PROVIDED_VERSION}\" to install it before using it."
|
||||
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`.'
|
||||
fi
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
@@ -3522,6 +3528,8 @@ nvm() {
|
||||
local NVM_DELETE_PREFIX
|
||||
NVM_DELETE_PREFIX=0
|
||||
local NVM_LTS
|
||||
local IS_VERSION_FROM_NVMRC
|
||||
IS_VERSION_FROM_NVMRC=0
|
||||
|
||||
while [ $# -ne 0 ]; do
|
||||
case "$1" in
|
||||
@@ -3549,6 +3557,7 @@ nvm() {
|
||||
NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version
|
||||
if [ -n "${NVM_RC_VERSION-}" ]; then
|
||||
PROVIDED_VERSION="${NVM_RC_VERSION}"
|
||||
IS_VERSION_FROM_NVMRC=1
|
||||
VERSION="$(nvm_version "${PROVIDED_VERSION}")"
|
||||
fi
|
||||
unset NVM_RC_VERSION
|
||||
@@ -3588,14 +3597,12 @@ nvm() {
|
||||
fi
|
||||
if [ "${VERSION}" = 'N/A' ]; then
|
||||
if [ "${NVM_SILENT:-0}" -ne 1 ]; then
|
||||
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."
|
||||
nvm_ensure_version_installed "${PROVIDED_VERSION}" "${IS_VERSION_FROM_NVMRC}"
|
||||
fi
|
||||
return 3
|
||||
# This nvm_ensure_version_installed call can be a performance bottleneck
|
||||
# on shell startup. Perhaps we can optimize it away or make it faster.
|
||||
elif ! nvm_ensure_version_installed "${VERSION}"; then
|
||||
elif ! nvm_ensure_version_installed "${VERSION}" "${IS_VERSION_FROM_NVMRC}"; then
|
||||
return $?
|
||||
fi
|
||||
|
||||
@@ -3650,6 +3657,8 @@ nvm() {
|
||||
local provided_version
|
||||
local has_checked_nvmrc
|
||||
has_checked_nvmrc=0
|
||||
local IS_VERSION_FROM_NVMRC
|
||||
IS_VERSION_FROM_NVMRC=0
|
||||
# run given version of node
|
||||
|
||||
local NVM_SILENT
|
||||
@@ -3695,6 +3704,8 @@ nvm() {
|
||||
if [ $has_checked_nvmrc -ne 1 ]; then
|
||||
NVM_SILENT="${NVM_SILENT:-0}" nvm_rc_version && has_checked_nvmrc=1
|
||||
fi
|
||||
provided_version="${NVM_RC_VERSION}"
|
||||
IS_VERSION_FROM_NVMRC=1
|
||||
VERSION="$(nvm_version "${NVM_RC_VERSION}")" ||:
|
||||
unset NVM_RC_VERSION
|
||||
else
|
||||
@@ -3717,7 +3728,7 @@ nvm() {
|
||||
VERSION=''
|
||||
fi
|
||||
if [ "_${VERSION}" = "_N/A" ]; then
|
||||
nvm_ensure_version_installed "${provided_version}"
|
||||
nvm_ensure_version_installed "${provided_version}" "${IS_VERSION_FROM_NVMRC}"
|
||||
elif [ "${NVM_IOJS}" = true ]; then
|
||||
nvm exec "${NVM_SILENT_ARG-}" "${LTS_ARG-}" "${VERSION}" iojs "$@"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user