From e76b2945c59727ed69edcdb5d2830af96c630b07 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 21 Dec 2020 23:03:30 -0800 Subject: [PATCH] [Fix] relax `$PREFIX` checking, to accomodate `npm exec` Fixes #2379. --- nvm.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nvm.sh b/nvm.sh index 2e85e6a..4646dd9 100644 --- a/nvm.sh +++ b/nvm.sh @@ -2338,7 +2338,8 @@ nvm_die_on_prefix() { # npm first looks at $PREFIX (case-sensitive) # we do not bother to test the value here; if this env var is set, unset it to continue. - if [ -n "${PREFIX-}" ]; then + # however, `npm exec` in npm v7.2+ sets $PREFIX; if set, inherit it + if [ -n "${PREFIX-}" ] && [ "$(nvm_version_path $(node -v))" != "${PREFIX}" ]; then nvm deactivate >/dev/null 2>&1 nvm_err "nvm is not compatible with the \"PREFIX\" environment variable: currently set to \"${PREFIX}\"" nvm_err 'Run `unset PREFIX` to unset it.'