Files
atom/script/update-node
2013-03-13 21:57:12 +08:00

44 lines
926 B
Bash
Executable File

#!/bin/bash
set -e
cd "$(dirname $0)/.."
# Test whether we need update.
if [ -f "node/node" ]; then
exit 0
fi
if ! DOWNLOAD_PAGE=$(curl -fsSkL http://nodejs.org/download/); then
exit 1;
fi
NODE_VERSION=$(echo "$DOWNLOAD_PAGE" \
| awk '/Current version:/ { print }' \
| awk -F"[<>]" '{ print $5 }')
case $OSTYPE in
darwin*) NODE_PLATFORM=darwin ;;
linux*) NODE_PLATFORM=linux ;;
*) echo "Unsupported platform $OSTYPE" && exit 1 ;;
esac
if uname -a | grep 'x86_64' > /dev/null ; then
NODE_ARCH=x64
else
NODE_ARCH=x86
fi
NODE_DIST_NAME="node-$NODE_VERSION-$NODE_PLATFORM-$NODE_ARCH"
# Download node and untar
NODE_TARBALL_URL="http://nodejs.org/dist/$NODE_VERSION/$NODE_DIST_NAME.tar.gz"
TARGET_DIR='node'
[ -d "$TARGET_DIR" ] || mkdir "$TARGET_DIR"
cd "$TARGET_DIR"
curl -fsSkL $NODE_TARBALL_URL | tar -zx || exit 1
cp "$NODE_DIST_NAME/bin/node" .
rm -rf "$NODE_DIST_NAME"