From b3e25b15f999fd70ab1d034b33114f06d23be906 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Sat, 2 Sep 2017 14:04:37 -0700 Subject: [PATCH] `nvm_install_latest_npm`: npm v5.4+ breaks on node v4-4.4 and v5-5.9, due to missing `Buffer.alloc`. --- nvm.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/nvm.sh b/nvm.sh index ccd6bc1..ec57525 100644 --- a/nvm.sh +++ b/nvm.sh @@ -206,8 +206,16 @@ nvm_install_latest_npm() { nvm_echo '* `npm` v5 and higher do not work on `node` versions below v4.0.0' $NVM_NPM_CMD install -g npm@4 elif [ $NVM_IS_0_9 -eq 0 ] && [ $NVM_IS_0_6 -eq 0 ]; then - nvm_echo '* Installing latest `npm`; if this does not work on your node version, please report a bug!' - $NVM_NPM_CMD install -g npm + if nvm_version_greater 4.5.0 "${NODE_VERSION}" || (\ + nvm_version_greater_than_or_equal_to "${NODE_VERSION}" 5.0.0 \ + && nvm_version_greater 5.10.0 "${NODE_VERSION}"\ + ); then + nvm_echo '* `npm` `v5.3.x` is the last version that works on `node` 4.x versions below v4.4, or 5.x versions below v5.10, due to `Buffer.alloc`' + $NVM_NPM_CMD install -g npm@5.3 + else + nvm_echo '* Installing latest `npm`; if this does not work on your node version, please report a bug!' + $NVM_NPM_CMD install -g npm + fi fi nvm_echo "* npm upgraded to: v$(npm --version 2>/dev/null)" }