From c060a287d0469a4449ed57cc9aff4c6dfe5064bd Mon Sep 17 00:00:00 2001 From: Isaac Wolkerstorfer Date: Sat, 22 Jan 2011 21:07:27 +0100 Subject: [PATCH] Use curl or wget, whichever is available Also spit out an error message if we have neither. --- nvm.sh | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/nvm.sh b/nvm.sh index 99eb87a..d7f2191 100644 --- a/nvm.sh +++ b/nvm.sh @@ -8,6 +8,24 @@ # Auto detect the NVM_DIR using magic bash 3.x stuff export NVM_DIR=$(dirname ${BASH_ARGV[0]}) +# Emulate curl with wget, if necessary +if [ ! `which curl` ]; then + if [ `which wget` ]; then + curl() { + ARGS="$* " + ARGS=${ARGS/-s /-q } + ARGS=${ARGS/-\# /} + ARGS=${ARGS/-C - /-c } + ARGS=${ARGS/-o /-O } + + wget $ARGS + } + else + NOCURL='nocurl' + curl() { echo 'Need curl or wget to proceed.' >&2; } + fi +fi + nvm() { if [ $# -lt 1 ]; then @@ -36,10 +54,11 @@ nvm() nvm help return; fi + [ "$NOCURL" ] && curl && return START=`pwd` mkdir -p "$NVM_DIR/src" && \ cd "$NVM_DIR/src" && \ - wget "http://nodejs.org/dist/node-$2.tar.gz" -N && \ + curl -C - -# "http://nodejs.org/dist/node-$2.tar.gz" -o "node-$2.tar.gz" && \ tar -xzf "node-$2.tar.gz" && \ cd "node-$2" && \ ./configure --prefix="$NVM_DIR/$2" && \ @@ -48,7 +67,7 @@ nvm() nvm use $2 if ! which npm ; then echo "Installing npm..." - curl http://npmjs.org/install.sh | sh + curl -# http://npmjs.org/install.sh -o - | sh fi cd $START ;;