commit
59c8eda18c
62
nvm.sh
62
nvm.sh
|
@ -16,24 +16,10 @@ if [ ! -z "$(which unsetopt 2>/dev/null)" ]; then
|
||||||
unsetopt nomatch 2>/dev/null
|
unsetopt nomatch 2>/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Try to figure out the os and arch for binary fetching
|
|
||||||
uname="$(uname -a)"
|
|
||||||
os=
|
|
||||||
arch="$(uname -m)"
|
|
||||||
case "$uname" in
|
|
||||||
Linux\ *) os=linux ;;
|
|
||||||
Darwin\ *) os=darwin ;;
|
|
||||||
SunOS\ *) os=sunos ;;
|
|
||||||
esac
|
|
||||||
case "$uname" in
|
|
||||||
*x86_64*) arch=x64 ;;
|
|
||||||
*i*86*) arch=x86 ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Expand a version using the version cache
|
# Expand a version using the version cache
|
||||||
nvm_version()
|
nvm_version()
|
||||||
{
|
{
|
||||||
PATTERN=$1
|
local PATTERN=$1
|
||||||
# The default version is the current one
|
# The default version is the current one
|
||||||
if [ ! "$PATTERN" ]; then
|
if [ ! "$PATTERN" ]; then
|
||||||
PATTERN='current'
|
PATTERN='current'
|
||||||
|
@ -49,7 +35,7 @@ nvm_version()
|
||||||
|
|
||||||
nvm_remote_version()
|
nvm_remote_version()
|
||||||
{
|
{
|
||||||
PATTERN=$1
|
local PATTERN=$1
|
||||||
VERSION=`nvm_ls_remote $PATTERN | tail -n1`
|
VERSION=`nvm_ls_remote $PATTERN | tail -n1`
|
||||||
echo "$VERSION"
|
echo "$VERSION"
|
||||||
|
|
||||||
|
@ -60,8 +46,8 @@ nvm_remote_version()
|
||||||
|
|
||||||
nvm_ls()
|
nvm_ls()
|
||||||
{
|
{
|
||||||
PATTERN=$1
|
local PATTERN=$1
|
||||||
VERSIONS=''
|
local VERSIONS=''
|
||||||
if [ "$PATTERN" = 'current' ]; then
|
if [ "$PATTERN" = 'current' ]; then
|
||||||
echo `node -v 2>/dev/null`
|
echo `node -v 2>/dev/null`
|
||||||
return
|
return
|
||||||
|
@ -87,7 +73,7 @@ nvm_ls()
|
||||||
|
|
||||||
nvm_ls_remote()
|
nvm_ls_remote()
|
||||||
{
|
{
|
||||||
PATTERN=$1
|
local PATTERN=$1
|
||||||
if [ "$PATTERN" ]; then
|
if [ "$PATTERN" ]; then
|
||||||
if echo "${PATTERN}" | grep -v '^v' ; then
|
if echo "${PATTERN}" | grep -v '^v' ; then
|
||||||
PATTERN=v$PATTERN
|
PATTERN=v$PATTERN
|
||||||
|
@ -95,10 +81,10 @@ nvm_ls_remote()
|
||||||
else
|
else
|
||||||
PATTERN=".*"
|
PATTERN=".*"
|
||||||
fi
|
fi
|
||||||
VERSIONS=`curl -s http://nodejs.org/dist/ \
|
local VERSIONS=`curl -s http://nodejs.org/dist/ \
|
||||||
| egrep -o 'v[0-9]+\.[0-9]+\.[0-9]+' \
|
| egrep -o 'v[0-9]+\.[0-9]+\.[0-9]+' \
|
||||||
| grep -w "${PATTERN}" \
|
| grep -w "${PATTERN}" \
|
||||||
| sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n`
|
| sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n`
|
||||||
if [ ! "$VERSIONS" ]; then
|
if [ ! "$VERSIONS" ]; then
|
||||||
echo "N/A"
|
echo "N/A"
|
||||||
return
|
return
|
||||||
|
@ -120,7 +106,8 @@ nvm_checksum()
|
||||||
|
|
||||||
print_versions()
|
print_versions()
|
||||||
{
|
{
|
||||||
OUTPUT=''
|
local OUTPUT=''
|
||||||
|
local PADDED_VERSION=''
|
||||||
for VERSION in $1; do
|
for VERSION in $1; do
|
||||||
PADDED_VERSION=`printf '%10s' $VERSION`
|
PADDED_VERSION=`printf '%10s' $VERSION`
|
||||||
if [[ -d "$NVM_DIR/$VERSION" ]]; then
|
if [[ -d "$NVM_DIR/$VERSION" ]]; then
|
||||||
|
@ -137,6 +124,25 @@ nvm()
|
||||||
nvm help
|
nvm help
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Try to figure out the os and arch for binary fetching
|
||||||
|
local uname="$(uname -a)"
|
||||||
|
local os=
|
||||||
|
local arch="$(uname -m)"
|
||||||
|
case "$uname" in
|
||||||
|
Linux\ *) os=linux ;;
|
||||||
|
Darwin\ *) os=darwin ;;
|
||||||
|
SunOS\ *) os=sunos ;;
|
||||||
|
esac
|
||||||
|
case "$uname" in
|
||||||
|
*x86_64*) arch=x64 ;;
|
||||||
|
*i*86*) arch=x86 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# initialize local variables
|
||||||
|
local VERSION
|
||||||
|
local ADDITIONAL_PARAMETERS
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
"help" )
|
"help" )
|
||||||
echo
|
echo
|
||||||
|
@ -164,7 +170,15 @@ nvm()
|
||||||
echo " nvm alias default 0.4 Auto use the latest installed v0.4.x version"
|
echo " nvm alias default 0.4 Auto use the latest installed v0.4.x version"
|
||||||
echo
|
echo
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"install" )
|
"install" )
|
||||||
|
# initialize local variables
|
||||||
|
local binavail
|
||||||
|
local t
|
||||||
|
local url
|
||||||
|
local sum
|
||||||
|
local tarball
|
||||||
|
|
||||||
if [ ! `which curl` ]; then
|
if [ ! `which curl` ]; then
|
||||||
echo 'NVM Needs curl to proceed.' >&2;
|
echo 'NVM Needs curl to proceed.' >&2;
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue