update Node.js and npm separately

update.sh now just updates Node.js, update-npm.sh updates npm
This commit is contained in:
Christopher Horrell 2015-07-04 00:00:41 -04:00
parent 6b7c13c45e
commit 8c38b2fad9
2 changed files with 23 additions and 2 deletions

23
update-npm.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
set -e
hash npm 2>/dev/null || { echo >&2 "npm not found, exiting."; }
cd $(cd ${0%/*} && pwd -P);
versions=( "$@" )
if [ ${#versions[@]} -eq 0 ]; then
versions=( */ )
fi
versions=( "${versions[@]%/}" )
npmVersion="$(npm show npm version 2>/dev/null)"
for version in "${versions[@]}"; do
fullVersion="$(curl -sSL --compressed 'http://nodejs.org/dist' | grep '<a href="v'"$version." | sed -E 's!.*<a href="v([^"/]+)/?".*!\1!' | cut -f 3 -d . | sort -n | tail -1)"
(
sed -E -i.bak '
s/^(ENV NPM_VERSION) .*/\1 '"$npmVersion"'/;
' "$version/Dockerfile" "$version/slim/Dockerfile" "$version/wheezy/Dockerfile"
rm $version/Dockerfile.bak $version/slim/Dockerfile.bak $version/wheezy/Dockerfile.bak
)
done

View File

@ -11,13 +11,11 @@ if [ ${#versions[@]} -eq 0 ]; then
fi
versions=( "${versions[@]%/}" )
npmVersion="$(npm show npm version 2>/dev/null)"
for version in "${versions[@]}"; do
fullVersion="$(curl -sSL --compressed 'http://nodejs.org/dist' | grep '<a href="v'"$version." | sed -E 's!.*<a href="v([^"/]+)/?".*!\1!' | cut -f 3 -d . | sort -n | tail -1)"
(
sed -E -i.bak '
s/^(ENV NODE_VERSION) .*/\1 '"$version.$fullVersion"'/;
s/^(ENV NPM_VERSION) .*/\1 '"$npmVersion"'/;
' "$version/Dockerfile" "$version/slim/Dockerfile" "$version/wheezy/Dockerfile"
rm $version/Dockerfile.bak $version/slim/Dockerfile.bak $version/wheezy/Dockerfile.bak