added --upgrade-npm to install command

This commit is contained in:
dclayton 2015-12-08 19:50:13 -07:00
parent 8746344e02
commit ec7e553267
1 changed files with 37 additions and 11 deletions

26
nvm.sh
View File

@ -1463,6 +1463,7 @@ nvm() {
echo ' nvm --version Print out the latest released version of nvm'
echo ' nvm install [-s] <version> Download and install a <version>, [-s] from source. Uses .nvmrc if available'
echo ' --reinstall-packages-from=<version> When installing, reinstall packages installed in <node|iojs|node version number>'
echo ' --upgrade-npm=<version> When installing, upgrades NPM to the specified version'
echo ' nvm uninstall <version> Uninstall a version'
echo ' nvm use [--silent] <version> Modify PATH to use <version>. Uses .nvmrc if available'
echo ' nvm exec [--silent] <version> [<command>] Run <command> on <version>. Uses .nvmrc if available'
@ -1478,6 +1479,7 @@ nvm() {
echo ' nvm alias <name> <version> Set an alias named <name> pointing to <version>'
echo ' nvm unalias <name> Deletes the alias named <name>'
echo ' nvm reinstall-packages <version> Reinstall global `npm` packages contained in <version> to current version'
echo ' nvm upgrade-npm <version> Upgrades NPM to the specified version'
echo ' nvm unload Unload `nvm` from shell'
echo ' nvm which [<version>] Display path to installed node version. Uses .nvmrc if available'
echo
@ -1568,6 +1570,7 @@ nvm() {
ADDITIONAL_PARAMETERS=''
local PROVIDED_REINSTALL_PACKAGES_FROM
local REINSTALL_PACKAGES_FROM
local UPGRADE_NPM_VERSION
while [ $# -ne 0 ]
do
@ -1580,6 +1583,9 @@ nvm() {
PROVIDED_REINSTALL_PACKAGES_FROM="$(echo "$1" | command cut -c 22-)"
REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")"
;;
--upgrade-npm=*)
UPGRADE_NPM_VERSION="$(echo "$1" | command cut -c 15-)"
;;
*)
ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1"
;;
@ -1652,6 +1658,10 @@ nvm() {
fi
if [ "$NVM_INSTALL_SUCCESS" = true ] && nvm use "$VERSION"; then
if [ ! -z "$UPGRADE_NPM_VERSION" ]; then
nvm upgrade-npm "$UPGRADE_NPM_VERSION"
fi
if [ ! -z "$REINSTALL_PACKAGES_FROM" ] \
&& [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then
nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
@ -2166,6 +2176,18 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | command grep -v "N/A" | command sed '/^$/d'
command rm -f "$NVM_ALIAS_DIR/$2"
echo "Deleted alias $2"
;;
"upgrade-npm" )
if [ $# -ne 2 ]; then
>&2 nvm help
return 127
fi
local NPM_VERSION
NPM_VERSION="$2"
echo "Upgrading npm version to $NPM_VERSION"
npm install -g "npm@$NPM_VERSION"
;;
"reinstall-packages" | "copy-packages" )
if [ $# -ne 2 ]; then
>&2 nvm help
@ -2199,8 +2221,11 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | command grep -v "N/A" | command sed '/^$/d'
LINKS="${NPMLIST##* //// }"
echo "Reinstalling global packages from $VERSION..."
if [ "$INSTALLS" != '' ]; then
echo "$INSTALLS" | command xargs npm install -g --quiet
fi
if [ "$LINKS" != '' ]; then
echo "Linking global packages from $VERSION..."
set -f; IFS='
' # necessary to turn off variable expansion except for newlines
@ -2211,6 +2236,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | command grep -v "N/A" | command sed '/^$/d'
fi
done
set +f; unset IFS # restore variable expansion in case $LINKS was empty
fi
;;
"clear-cache" )
command rm -f "$NVM_DIR/v*" "$(nvm_version_dir)" 2>/dev/null