Merge pull request #245 from rgbkrk/mirror_z

Add mirror option for node binaries. Relates to #255.
master
Jordan Harband 2014-01-30 21:25:46 -08:00
commit 5f225cd625
2 changed files with 18 additions and 8 deletions

View File

@ -66,6 +66,11 @@ To set a default Node version to be used in any new shell, use the alias 'defaul
nvm alias default 0.10
To use a mirror of the node binaries, set `$NODEJS_MIRROR`:
export NODEJS_MIRROR=http://nodejs.org/dist
nvm install 0.10
## License
nvm is released under the MIT license.

21
nvm.sh
View File

@ -24,6 +24,11 @@ if [ ! -d "$NVM_DIR" ]; then
export NVM_DIR=$(cd $NVM_CD_FLAGS $(dirname ${BASH_SOURCE[0]:-$0}) > /dev/null && pwd)
fi
# Setup mirror location if not already set
if [ -z "$NODEJS_MIRROR" ]; then
export NODEJS_MIRROR="http://nodejs.org/dist"
fi
nvm_set_nullglob() {
if has "setopt"; then
# Zsh
@ -105,7 +110,7 @@ nvm_ls_remote() {
else
PATTERN=".*"
fi
VERSIONS=`curl -s http://nodejs.org/dist/ \
VERSIONS=`curl -s $NODEJS_MIRROR/ \
| \egrep -o 'v[0-9]+\.[0-9]+\.[0-9]+' \
| \grep -w "${PATTERN}" \
| sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n`
@ -262,8 +267,8 @@ nvm() {
esac
if [ $binavail -eq 1 ]; then
t="$VERSION-$os-$arch"
url="http://nodejs.org/dist/$VERSION/node-${t}.tar.gz"
sum=`curl -s http://nodejs.org/dist/$VERSION/SHASUMS.txt | \grep node-${t}.tar.gz | awk '{print $1}'`
url="$NODEJS_MIRROR/$VERSION/node-${t}.tar.gz"
sum=`curl -s $NODEJS_MIRROR/$VERSION/SHASUMS.txt | \grep node-${t}.tar.gz | awk '{print $1}'`
local tmpdir="$NVM_DIR/bin/node-${t}"
local tmptarball="$tmpdir/node-${t}.tar.gz"
if (
@ -295,11 +300,11 @@ nvm() {
fi
local tmpdir="$NVM_DIR/src"
local tmptarball="$tmpdir/node-$VERSION.tar.gz"
if [ "`curl -Is "http://nodejs.org/dist/$VERSION/node-$VERSION.tar.gz" | \grep '200 OK'`" != '' ]; then
tarball="http://nodejs.org/dist/$VERSION/node-$VERSION.tar.gz"
sum=`curl -s http://nodejs.org/dist/$VERSION/SHASUMS.txt | \grep node-$VERSION.tar.gz | awk '{print $1}'`
elif [ "`curl -Is "http://nodejs.org/dist/node-$VERSION.tar.gz" | \grep '200 OK'`" != '' ]; then
tarball="http://nodejs.org/dist/node-$VERSION.tar.gz"
if [ "`curl -Is "$NODEJS_MIRROR/$VERSION/node-$VERSION.tar.gz" | \grep '200 OK'`" != '' ]; then
tarball="$NODEJS_MIRROR/$VERSION/node-$VERSION.tar.gz"
sum=`curl -s $NODEJS_MIRROR/$VERSION/SHASUMS.txt | \grep node-$VERSION.tar.gz | awk '{print $1}'`
elif [ "`curl -Is "$NODEJS_MIRROR/node-$VERSION.tar.gz" | \grep '200 OK'`" != '' ]; then
tarball="$NODEJS_MIRROR/node-$VERSION.tar.gz"
fi
if (
[ ! -z $tarball ] && \