[Fix] `reinstall-packages`: Prevent install/link when no packages found
Fixes #1744.
parent
25b7f264d5
commit
d6fa67166c
28
nvm.sh
28
nvm.sh
|
@ -3339,19 +3339,27 @@ nvm() {
|
||||||
LINKS="${NPMLIST##* //// }"
|
LINKS="${NPMLIST##* //// }"
|
||||||
|
|
||||||
nvm_echo "Reinstalling global packages from $VERSION..."
|
nvm_echo "Reinstalling global packages from $VERSION..."
|
||||||
nvm_echo "$INSTALLS" | command xargs npm install -g --quiet
|
if [ -n "${INSTALLS}" ]; then
|
||||||
|
nvm_echo "$INSTALLS" | command xargs npm install -g --quiet
|
||||||
|
else
|
||||||
|
nvm_echo "No installed global packages found..."
|
||||||
|
fi
|
||||||
|
|
||||||
nvm_echo "Linking global packages from $VERSION..."
|
nvm_echo "Linking global packages from $VERSION..."
|
||||||
(
|
if [ -n "${LINKS}" ]; then
|
||||||
set -f; IFS='
|
(
|
||||||
|
set -f; IFS='
|
||||||
' # necessary to turn off variable expansion except for newlines
|
' # necessary to turn off variable expansion except for newlines
|
||||||
for LINK in $LINKS; do
|
for LINK in $LINKS; do
|
||||||
set +f; unset IFS # restore variable expansion
|
set +f; unset IFS # restore variable expansion
|
||||||
if [ -n "$LINK" ]; then
|
if [ -n "$LINK" ]; then
|
||||||
(nvm_cd "$LINK" && npm link)
|
(nvm_cd "$LINK" && npm link)
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
)
|
)
|
||||||
|
else
|
||||||
|
nvm_echo "No linked global packages found..."
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
"clear-cache" )
|
"clear-cache" )
|
||||||
command rm -f "$NVM_DIR/v*" "$(nvm_version_dir)" 2>/dev/null
|
command rm -f "$NVM_DIR/v*" "$(nvm_version_dir)" 2>/dev/null
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
\. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
nvm install 0.10.28
|
nvm install 0.10.28
|
||||||
nvm install 0.10.29
|
nvm install 0.10.29
|
||||||
|
nvm install 4.7.1
|
||||||
|
nvm install 4.7.2
|
||||||
|
|
||||||
if [ -f ".nvmrc" ]; then
|
if [ -f ".nvmrc" ]; then
|
||||||
mv .nvmrc .nvmrc.bak
|
mv .nvmrc .nvmrc.bak
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
\. ../../../nvm.sh
|
\. ../../../nvm.sh
|
||||||
nvm uninstall v0.10.28
|
nvm uninstall v0.10.28
|
||||||
nvm uninstall v0.10.29
|
nvm uninstall v0.10.29
|
||||||
|
nvm uninstall v4.7.1
|
||||||
|
nvm uninstall v4.7.2
|
||||||
|
|
||||||
rm -f .nvmrc
|
rm -f .nvmrc
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
|
\. ../../../nvm.sh
|
||||||
|
|
||||||
|
get_packages() {
|
||||||
|
npm list -g --depth=0 | \sed -e '1 d' -e 's/^.* \(.*\)@.*/\1/' -e '/^npm$/ d' | xargs
|
||||||
|
}
|
||||||
|
|
||||||
|
nvm use 4.7.2
|
||||||
|
ORIGINAL_PACKAGES=$(get_packages)
|
||||||
|
|
||||||
|
nvm reinstall-packages 4.7.1
|
||||||
|
FINAL_PACKAGES=$(get_packages)
|
||||||
|
|
||||||
|
[ -z "${ORIGINAL_PACKAGES}" ] || die "original packages were not empty: ${ORIGINAL_PACKAGES}"
|
||||||
|
[ -z "${FINAL_PACKAGES}" ] || die "final packages were not empty: ${FINAL_PACKAGES}"
|
Loading…
Reference in New Issue