From 0dfe9292951af97cfa989ea63c983671a4c2c005 Mon Sep 17 00:00:00 2001 From: "Bickel, Korbin" Date: Wed, 12 Dec 2018 17:49:02 -0500 Subject: [PATCH] Process additional (--) parameters before final version parameter. Fixes issue #1762. --- nvm.sh | 70 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/nvm.sh b/nvm.sh index b0df452..3c5e846 100644 --- a/nvm.sh +++ b/nvm.sh @@ -2519,6 +2519,41 @@ nvm() { esac done + ADDITIONAL_PARAMETERS='' + local PROVIDED_REINSTALL_PACKAGES_FROM + local REINSTALL_PACKAGES_FROM + local SKIP_DEFAULT_PACKAGES + local DEFAULT_PACKAGES + + while [ $# -ne 0 ] + do + case "$1" in + --reinstall-packages-from=*) + PROVIDED_REINSTALL_PACKAGES_FROM="$(nvm_echo "$1" | command cut -c 27-)" + if [ -z "${PROVIDED_REINSTALL_PACKAGES_FROM}" ]; then + nvm_err 'If --reinstall-packages-from is provided, it must point to an installed version of node.' + return 6 + fi + REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" ||: + ;; + --reinstall-packages-from) + nvm_err 'If --reinstall-packages-from is provided, it must point to an installed version of node using `=`.' + return 6 + ;; + --copy-packages-from=*) + PROVIDED_REINSTALL_PACKAGES_FROM="$(nvm_echo "$1" | command cut -c 22-)" + REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" ||: + ;; + --skip-default-packages) + SKIP_DEFAULT_PACKAGES=true + ;; + *) + ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1" + ;; + esac + shift + done + local provided_version provided_version="${1-}" @@ -2576,41 +2611,6 @@ nvm() { return 3 fi - ADDITIONAL_PARAMETERS='' - local PROVIDED_REINSTALL_PACKAGES_FROM - local REINSTALL_PACKAGES_FROM - local SKIP_DEFAULT_PACKAGES - local DEFAULT_PACKAGES - - while [ $# -ne 0 ] - do - case "$1" in - --reinstall-packages-from=*) - PROVIDED_REINSTALL_PACKAGES_FROM="$(nvm_echo "$1" | command cut -c 27-)" - if [ -z "${PROVIDED_REINSTALL_PACKAGES_FROM}" ]; then - nvm_err 'If --reinstall-packages-from is provided, it must point to an installed version of node.' - return 6 - fi - REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" ||: - ;; - --reinstall-packages-from) - nvm_err 'If --reinstall-packages-from is provided, it must point to an installed version of node using `=`.' - return 6 - ;; - --copy-packages-from=*) - PROVIDED_REINSTALL_PACKAGES_FROM="$(nvm_echo "$1" | command cut -c 22-)" - REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" ||: - ;; - --skip-default-packages) - SKIP_DEFAULT_PACKAGES=true - ;; - *) - ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1" - ;; - esac - shift - done - if [ -z "${SKIP_DEFAULT_PACKAGES-}" ] && [ -f "${NVM_DIR}/default-packages" ]; then DEFAULT_PACKAGES=""