Skip to content

Commit 100861d

Browse files
committed
[Fix] install-latest-npm: npm v6.10 breaks on node v6.0, v6.1, and v9.0-v9.2
1 parent 1eca354 commit 100861d

File tree

1 file changed

+25
-3
lines changed

1 file changed

+25
-3
lines changed

nvm.sh

+25-3
Original file line numberDiff line numberDiff line change
@@ -223,13 +223,29 @@ nvm_install_latest_npm() {
223223

224224
local NVM_IS_6_OR_ABOVE
225225
NVM_IS_6_OR_ABOVE=0
226+
local NVM_IS_6_2_OR_ABOVE
227+
NVM_IS_6_2_OR_ABOVE=0
226228
if [ $NVM_IS_5_OR_ABOVE -eq 1 ] && nvm_version_greater_than_or_equal_to "${NODE_VERSION}" 6.0.0; then
227229
NVM_IS_6_OR_ABOVE=1
230+
if nvm_version_greater_than_or_equal_to "${NODE_VERSION}" 6.2.0; then
231+
NVM_IS_6_2_OR_ABOVE=1
232+
fi
233+
fi
234+
235+
local NVM_IS_9_OR_ABOVE
236+
NVM_IS_9_OR_ABOVE=0
237+
local NVM_IS_9_3_OR_ABOVE
238+
NVM_IS_9_3_OR_ABOVE=0
239+
if [ $NVM_IS_6_2_OR_ABOVE -eq 1 ] && nvm_version_greater_than_or_equal_to "${NODE_VERSION}" 9.0.0; then
240+
NVM_IS_9_OR_ABOVE=1
241+
if nvm_version_greater_than_or_equal_to "${NODE_VERSION}" 9.3.0; then
242+
NVM_IS_9_3_OR_ABOVE=1
243+
fi
228244
fi
229245

230-
if [ $NVM_IS_4_4_OR_BELOW -eq 1 ] || (\
231-
[ $NVM_IS_5_OR_ABOVE -eq 1 ] && nvm_version_greater 5.10.0 "${NODE_VERSION}" \
232-
); then
246+
if [ $NVM_IS_4_4_OR_BELOW -eq 1 ] || {
247+
[ $NVM_IS_5_OR_ABOVE -eq 1 ] && nvm_version_greater 5.10.0 "${NODE_VERSION}"; \
248+
}; then
233249
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`'
234250
$NVM_NPM_CMD install -g npm@5.3
235251
elif [ $NVM_IS_4_4_OR_BELOW -eq 0 ] && nvm_version_greater 4.7.0 "${NODE_VERSION}"; then
@@ -238,6 +254,12 @@ nvm_install_latest_npm() {
238254
elif [ $NVM_IS_6_OR_ABOVE -eq 0 ]; then
239255
nvm_echo '* `npm` `v5.x` is the last version that works on `node` below `v6.0.0`'
240256
$NVM_NPM_CMD install -g npm@5
257+
elif \
258+
{ [ $NVM_IS_6_OR_ABOVE -eq 1 ] && [ $NVM_IS_6_2_OR_ABOVE -eq 0 ]; } \
259+
|| { [ $NVM_IS_9_OR_ABOVE -eq 1 ] && [ $NVM_IS_9_3_OR_ABOVE -eq 0 ]; } \
260+
; then
261+
nvm_echo '* `npm` `v6.9` is the last version that works on `node` `v6.0.x`, `v6.1.x`, `v9.0.x`, `v9.1.x`, or `v9.2.x`'
262+
$NVM_NPM_CMD install -g npm@6.9
241263
else
242264
nvm_echo '* Installing latest `npm`; if this does not work on your node version, please report a bug!'
243265
$NVM_NPM_CMD install -g npm

0 commit comments

Comments
 (0)