@@ -3093,7 +3093,6 @@ nvm() {
3093
3093
local PROVIDED_REINSTALL_PACKAGES_FROM
3094
3094
local REINSTALL_PACKAGES_FROM
3095
3095
local SKIP_DEFAULT_PACKAGES
3096
- local DEFAULT_PACKAGES
3097
3096
3098
3097
while [ $# -ne 0 ]; do
3099
3098
case " $1 " in
@@ -3293,14 +3292,6 @@ nvm() {
3293
3292
shift
3294
3293
done
3295
3294
3296
- if [ -z " ${SKIP_DEFAULT_PACKAGES-} " ]; then
3297
- DEFAULT_PACKAGES=" $( nvm_get_default_packages) "
3298
- EXIT_CODE=$?
3299
- if [ $EXIT_CODE -ne 0 ]; then
3300
- return $EXIT_CODE
3301
- fi
3302
- fi
3303
-
3304
3295
if [ -n " ${PROVIDED_REINSTALL_PACKAGES_FROM-} " ] && [ " $( nvm_ensure_version_prefix " ${PROVIDED_REINSTALL_PACKAGES_FROM} " ) " = " ${VERSION} " ]; then
3305
3296
nvm_err " You can't reinstall global packages from the same version of node you're installing."
3306
3297
return 4
@@ -3316,17 +3307,22 @@ nvm() {
3316
3307
FLAVOR=" $( nvm_node_prefix) "
3317
3308
fi
3318
3309
3310
+ local EXIT_CODE
3311
+
3319
3312
if nvm_is_version_installed " ${VERSION} " ; then
3320
3313
nvm_err " ${VERSION} is already installed."
3321
3314
if nvm use " ${VERSION} " ; then
3322
3315
if [ " ${NVM_UPGRADE_NPM} " = 1 ]; then
3323
3316
nvm install-latest-npm
3317
+ EXIT_CODE=$?
3324
3318
fi
3325
- if [ -z " ${SKIP_DEFAULT_PACKAGES-} " ] && [ -n " ${DEFAULT_PACKAGES-} " ]; then
3326
- nvm_install_default_packages " ${DEFAULT_PACKAGES} "
3319
+ if [ $EXIT_CODE -ne 0 ] && [ -z " ${SKIP_DEFAULT_PACKAGES-} " ]; then
3320
+ nvm_install_default_packages
3321
+ EXIT_CODE=$?
3327
3322
fi
3328
- if [ -n " ${REINSTALL_PACKAGES_FROM-} " ] && [ " _${REINSTALL_PACKAGES_FROM} " != " _N/A" ]; then
3323
+ if [ $EXIT_CODE -ne 0 ] && [ -n " ${REINSTALL_PACKAGES_FROM-} " ] && [ " _${REINSTALL_PACKAGES_FROM} " != " _N/A" ]; then
3329
3324
nvm reinstall-packages " ${REINSTALL_PACKAGES_FROM} "
3325
+ EXIT_CODE=$?
3330
3326
fi
3331
3327
fi
3332
3328
if [ -n " ${LTS-} " ]; then
@@ -3336,15 +3332,14 @@ nvm() {
3336
3332
nvm_ensure_default_set " ${provided_version} "
3337
3333
fi
3338
3334
3339
- if [ -n " ${ALIAS-} " ]; then
3335
+ if [ $EXIT_CODE -ne 0 ] && [ -n " ${ALIAS-} " ]; then
3340
3336
nvm alias " ${ALIAS} " " ${provided_version} "
3337
+ EXIT_CODE=$?
3341
3338
fi
3342
3339
3343
- return $?
3340
+ return $EXIT_CODE
3344
3341
fi
3345
3342
3346
- local EXIT_CODE
3347
- EXIT_CODE=-1
3348
3343
if [ -n " ${NVM_INSTALL_THIRD_PARTY_HOOK-} " ]; then
3349
3344
nvm_err ' ** $NVM_INSTALL_THIRD_PARTY_HOOK env var set; dispatching to third-party installation method **'
3350
3345
local NVM_METHOD_PREFERENCE
@@ -3413,10 +3408,11 @@ nvm() {
3413
3408
nvm install-latest-npm
3414
3409
EXIT_CODE=$?
3415
3410
fi
3416
- if [ -z " ${SKIP_DEFAULT_PACKAGES-} " ] && [ -n " ${DEFAULT_PACKAGES-} " ]; then
3417
- nvm_install_default_packages " ${DEFAULT_PACKAGES} "
3411
+ if [ $EXIT_CODE -eq 0 ] && [ -z " ${SKIP_DEFAULT_PACKAGES-} " ]; then
3412
+ nvm_install_default_packages
3413
+ EXIT_CODE=$?
3418
3414
fi
3419
- if [ -n " ${REINSTALL_PACKAGES_FROM-} " ] && [ " _${REINSTALL_PACKAGES_FROM} " != " _N/A" ]; then
3415
+ if [ $EXIT_CODE -eq 0 ] && [ -n " ${REINSTALL_PACKAGES_FROM-} " ] && [ " _${REINSTALL_PACKAGES_FROM} " != " _N/A" ]; then
3420
3416
nvm reinstall-packages " ${REINSTALL_PACKAGES_FROM} "
3421
3417
EXIT_CODE=$?
3422
3418
fi
@@ -4286,10 +4282,16 @@ nvm_get_default_packages() {
4286
4282
}
4287
4283
4288
4284
nvm_install_default_packages () {
4285
+ local DEFAULT_PACKAGES
4286
+ DEFAULT_PACKAGES=" $( nvm_get_default_packages) "
4287
+ EXIT_CODE=$?
4288
+ if [ $EXIT_CODE -ne 0 ] || [ -z " ${DEFAULT_PACKAGES} " ]; then
4289
+ return $EXIT_CODE
4290
+ fi
4289
4291
nvm_echo " Installing default global packages from ${NVM_DIR} /default-packages..."
4290
- nvm_echo " npm install -g --quiet $1 "
4292
+ nvm_echo " npm install -g --quiet ${DEFAULT_PACKAGES} "
4291
4293
4292
- if ! nvm_echo " $1 " | command xargs npm install -g --quiet; then
4294
+ if ! nvm_echo " ${DEFAULT_PACKAGES} " | command xargs npm install -g --quiet; then
4293
4295
nvm_err " Failed installing default packages. Please check if your default-packages file or a package in it has problems!"
4294
4296
return 1
4295
4297
fi
0 commit comments