Compare commits
79 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0471acbf5 | ||
|
|
fda05fb64b | ||
|
|
2737a95645 | ||
|
|
5706aef3d0 | ||
|
|
cd4fc8fb2c | ||
|
|
050a2ee9d3 | ||
|
|
ff92ba7f43 | ||
|
|
804f2759f8 | ||
|
|
d5fe657382 | ||
|
|
3e4613fd66 | ||
|
|
9aec19a692 | ||
|
|
b707d8b072 | ||
|
|
be605cb12b | ||
|
|
3c66c20570 | ||
|
|
59bfdb9863 | ||
|
|
25bd2bb018 | ||
|
|
4a8a5a1180 | ||
|
|
145da7eef8 | ||
|
|
4cf56ae186 | ||
|
|
5ad00f13fa | ||
|
|
53f9841c6c | ||
|
|
444efdb08b | ||
|
|
6fde379707 | ||
|
|
ce69c8413e | ||
|
|
51f6109f8d | ||
|
|
4f081ce4be | ||
|
|
db0051753a | ||
|
|
cf1110ecea | ||
|
|
34b97bf76d | ||
|
|
b962a590a2 | ||
|
|
ddb25ed5a3 | ||
|
|
486d14f5f8 | ||
|
|
622fdd2cd0 | ||
|
|
eddbe15ee8 | ||
|
|
2e161fe414 | ||
|
|
a42b90d215 | ||
|
|
6bae6c07f2 | ||
|
|
7fd6d05426 | ||
|
|
5ef092b2c8 | ||
|
|
cb6456fd85 | ||
|
|
991fb85047 | ||
|
|
edf36a8ea7 | ||
|
|
35466187f2 | ||
|
|
c992b1766c | ||
|
|
4b2bc0be08 | ||
|
|
15b3e7b6a8 | ||
|
|
8d05ab63f1 | ||
|
|
da693eaea1 | ||
|
|
5363ff8916 | ||
|
|
e186fa27a7 | ||
|
|
f6e0104685 | ||
|
|
97d4e2f88f | ||
|
|
e0a22ccf4a | ||
|
|
d5d66c34d9 | ||
|
|
152904e3fb | ||
|
|
64de890d07 | ||
|
|
a4da8a48ef | ||
|
|
354be52672 | ||
|
|
ad604cc068 | ||
|
|
ba08fa31d8 | ||
|
|
13aadbcf31 | ||
|
|
7bb6e9c915 | ||
|
|
3d3145f2e0 | ||
|
|
4c948cf422 | ||
|
|
f8054d5cae | ||
|
|
ad2713b13a | ||
|
|
243fc04164 | ||
|
|
a80f958a1e | ||
|
|
f6fef75f36 | ||
|
|
199ba53340 | ||
|
|
d1b6332bbe | ||
|
|
159d4c645e | ||
|
|
687df82107 | ||
|
|
ff1781b95d | ||
|
|
110e571c34 | ||
|
|
a7108e98f2 | ||
|
|
30b044a368 | ||
|
|
825cb46969 | ||
|
|
ab56ec6675 |
20
.travis.yml
20
.travis.yml
@@ -10,20 +10,22 @@ script:
|
|||||||
- NVM_DIR=$TRAVIS_BUILD_DIR make TEST_SUITE=$TEST_SUITE URCHIN=/tmp/urchin $SHELL
|
- NVM_DIR=$TRAVIS_BUILD_DIR make TEST_SUITE=$TEST_SUITE URCHIN=/tmp/urchin $SHELL
|
||||||
env:
|
env:
|
||||||
- SHELL=sh TEST_SUITE=fast
|
- SHELL=sh TEST_SUITE=fast
|
||||||
- SHELL=sh TEST_SUITE=fast WITHOUT_CURL=1
|
|
||||||
- SHELL=dash TEST_SUITE=fast
|
- SHELL=dash TEST_SUITE=fast
|
||||||
- SHELL=dash TEST_SUITE=fast WITHOUT_CURL=1
|
|
||||||
- SHELL=bash TEST_SUITE=fast
|
- SHELL=bash TEST_SUITE=fast
|
||||||
- SHELL=bash TEST_SUITE=fast WITHOUT_CURL=1
|
|
||||||
- SHELL=zsh TEST_SUITE=fast
|
- SHELL=zsh TEST_SUITE=fast
|
||||||
- SHELL=zsh TEST_SUITE=fast WITHOUT_CURL=1
|
|
||||||
- SHELL=ksh TEST_SUITE=fast
|
- SHELL=ksh TEST_SUITE=fast
|
||||||
- SHELL=ksh TEST_SUITE=fast WITHOUT_CURL=1
|
|
||||||
- SHELL=sh TEST_SUITE=slow
|
- SHELL=sh TEST_SUITE=slow
|
||||||
- SHELL=sh TEST_SUITE=slow WITHOUT_CURL=1
|
|
||||||
- SHELL=dash TEST_SUITE=slow
|
- SHELL=dash TEST_SUITE=slow
|
||||||
- SHELL=dash TEST_SUITE=slow WITHOUT_CURL=1
|
|
||||||
- SHELL=bash TEST_SUITE=slow
|
- SHELL=bash TEST_SUITE=slow
|
||||||
- SHELL=bash TEST_SUITE=slow WITHOUT_CURL=1
|
|
||||||
- SHELL=zsh TEST_SUITE=slow
|
- SHELL=zsh TEST_SUITE=slow
|
||||||
- SHELL=zsh TEST_SUITE=slow WITHOUT_CURL=1
|
- SHELL=ksh TEST_SUITE=slow
|
||||||
|
- SHELL=sh TEST_SUITE=installation
|
||||||
|
- SHELL=sh TEST_SUITE=installation WITHOUT_CURL=1
|
||||||
|
- SHELL=dash TEST_SUITE=installation
|
||||||
|
- SHELL=dash TEST_SUITE=installation WITHOUT_CURL=1
|
||||||
|
- SHELL=bash TEST_SUITE=installation
|
||||||
|
- SHELL=bash TEST_SUITE=installation WITHOUT_CURL=1
|
||||||
|
- SHELL=zsh TEST_SUITE=installation
|
||||||
|
- SHELL=zsh TEST_SUITE=installation WITHOUT_CURL=1
|
||||||
|
- SHELL=ksh TEST_SUITE=installation
|
||||||
|
- SHELL=ksh TEST_SUITE=installation WITHOUT_CURL=1
|
||||||
|
|||||||
@@ -8,11 +8,11 @@ First you'll need to make sure your system has a c++ compiler. For OSX, XCode w
|
|||||||
|
|
||||||
To install you could use the [install script][2] using cURL:
|
To install you could use the [install script][2] using cURL:
|
||||||
|
|
||||||
curl https://raw.githubusercontent.com/creationix/nvm/v0.15.0/install.sh | bash
|
curl https://raw.githubusercontent.com/creationix/nvm/v0.17.2/install.sh | bash
|
||||||
|
|
||||||
or Wget:
|
or Wget:
|
||||||
|
|
||||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.15.0/install.sh | bash
|
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.17.2/install.sh | bash
|
||||||
|
|
||||||
<sub>The script clones the nvm repository to `~/.nvm` and adds the source line to your profile (`~/.bash_profile`, `~/.zshrc` or `~/.profile`).</sub>
|
<sub>The script clones the nvm repository to `~/.nvm` and adds the source line to your profile (`~/.bash_profile`, `~/.zshrc` or `~/.profile`).</sub>
|
||||||
|
|
||||||
@@ -24,9 +24,9 @@ You can customize the install source, directory and profile using the `NVM_SOURC
|
|||||||
|
|
||||||
For manual install create a folder somewhere in your filesystem with the `nvm.sh` file inside it. I put mine in a folder called `nvm`.
|
For manual install create a folder somewhere in your filesystem with the `nvm.sh` file inside it. I put mine in a folder called `nvm`.
|
||||||
|
|
||||||
Or if you have `git` installed, then just clone it:
|
Or if you have `git` installed, then just clone it, and check out the latest version:
|
||||||
|
|
||||||
git clone https://github.com/creationix/nvm.git ~/.nvm
|
git clone https://github.com/creationix/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
|
||||||
|
|
||||||
To activate nvm, you need to source it from your shell:
|
To activate nvm, you need to source it from your shell:
|
||||||
|
|
||||||
@@ -169,7 +169,7 @@ After the v0.8.6 release of node, nvm tries to install from binary packages. But
|
|||||||
nvm install -s 0.8.6
|
nvm install -s 0.8.6
|
||||||
|
|
||||||
[1]: https://github.com/creationix/nvm.git
|
[1]: https://github.com/creationix/nvm.git
|
||||||
[2]: https://github.com/creationix/nvm/blob/v0.15.0/install.sh
|
[2]: https://github.com/creationix/nvm/blob/v0.17.2/install.sh
|
||||||
[3]: https://travis-ci.org/creationix/nvm
|
[3]: https://travis-ci.org/creationix/nvm
|
||||||
[Urchin]: https://github.com/scraperwiki/urchin
|
[Urchin]: https://github.com/scraperwiki/urchin
|
||||||
|
|
||||||
|
|||||||
@@ -18,9 +18,11 @@ __nvm_commands ()
|
|||||||
current_word="${COMP_WORDS[COMP_CWORD]}"
|
current_word="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
|
||||||
COMMANDS='\
|
COMMANDS='\
|
||||||
help install uninstall use run\
|
help install uninstall use run exec\
|
||||||
ls ls-remote list list-remote deactivate\
|
alias unalias copy-packages
|
||||||
alias unalias copy-packages clear-cache version'
|
current list ls list-remote ls-remote\
|
||||||
|
clear-cache deactivate unload
|
||||||
|
version'
|
||||||
|
|
||||||
if [ ${#COMP_WORDS[@]} == 4 ]; then
|
if [ ${#COMP_WORDS[@]} == 4 ]; then
|
||||||
|
|
||||||
|
|||||||
34
install.sh
34
install.sh
@@ -44,12 +44,13 @@ install_nvm_from_git() {
|
|||||||
mkdir -p "$NVM_DIR"
|
mkdir -p "$NVM_DIR"
|
||||||
git clone "$NVM_SOURCE" "$NVM_DIR"
|
git clone "$NVM_SOURCE" "$NVM_DIR"
|
||||||
fi
|
fi
|
||||||
cd $NVM_DIR && git checkout v0.15.0 && git branch -D master || true
|
cd "$NVM_DIR" && git checkout v0.17.2 && git branch -D master >/dev/null 2>&1
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
install_nvm_as_script() {
|
install_nvm_as_script() {
|
||||||
if [ -z "$NVM_SOURCE" ]; then
|
if [ -z "$NVM_SOURCE" ]; then
|
||||||
NVM_SOURCE="https://raw.githubusercontent.com/creationix/nvm/v0.15.0/nvm.sh"
|
NVM_SOURCE="https://raw.githubusercontent.com/creationix/nvm/v0.17.2/nvm.sh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Downloading to $NVM_DIR
|
# Downloading to $NVM_DIR
|
||||||
@@ -75,28 +76,27 @@ if [ -z "$METHOD" ]; then
|
|||||||
echo >&2 "You need git, curl, or wget to install nvm"
|
echo >&2 "You need git, curl, or wget to install nvm"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
elif [ "~$METHOD" = "~git" ]; then
|
||||||
if [ "$METHOD" = "git" ]; then
|
if ! nvm_has "git"; then
|
||||||
if ! nvm_has "git"; then
|
echo >&2 "You need git to install nvm"
|
||||||
echo >&2 "You need git to install nvm"
|
exit 1
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
install_nvm_from_git
|
|
||||||
fi
|
fi
|
||||||
if [ "$METHOD" = "script" ]; then
|
install_nvm_from_git
|
||||||
if ! nvm_has "nvm_download"; then
|
elif [ "~$METHOD" = "~script" ]; then
|
||||||
echo >&2 "You need curl or wget to install nvm"
|
if ! nvm_has "nvm_download"; then
|
||||||
exit 1
|
echo >&2 "You need curl or wget to install nvm"
|
||||||
fi
|
exit 1
|
||||||
install_nvm_as_script
|
|
||||||
fi
|
fi
|
||||||
|
install_nvm_as_script
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
|
||||||
# Detect profile file if not specified as environment variable (eg: PROFILE=~/.myprofile).
|
# Detect profile file if not specified as environment variable (eg: PROFILE=~/.myprofile).
|
||||||
if [ -z "$PROFILE" ]; then
|
if [ -z "$PROFILE" ]; then
|
||||||
if [ -f "$HOME/.bash_profile" ]; then
|
if [ -f "$HOME/.bashrc" ]; then
|
||||||
|
PROFILE="$HOME/.bashrc"
|
||||||
|
elif [ -f "$HOME/.bash_profile" ]; then
|
||||||
PROFILE="$HOME/.bash_profile"
|
PROFILE="$HOME/.bash_profile"
|
||||||
elif [ -f "$HOME/.zshrc" ]; then
|
elif [ -f "$HOME/.zshrc" ]; then
|
||||||
PROFILE="$HOME/.zshrc"
|
PROFILE="$HOME/.zshrc"
|
||||||
@@ -109,7 +109,7 @@ SOURCE_STR="\nexport NVM_DIR=\"$NVM_DIR\"\n[ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$
|
|||||||
|
|
||||||
if [ -z "$PROFILE" ] || [ ! -f "$PROFILE" ] ; then
|
if [ -z "$PROFILE" ] || [ ! -f "$PROFILE" ] ; then
|
||||||
if [ -z "$PROFILE" ]; then
|
if [ -z "$PROFILE" ]; then
|
||||||
echo "=> Profile not found. Tried ~/.bash_profile, ~/.zshrc, and ~/.profile."
|
echo "=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile."
|
||||||
echo "=> Create one of them and run this script again"
|
echo "=> Create one of them and run this script again"
|
||||||
else
|
else
|
||||||
echo "=> Profile $PROFILE not found"
|
echo "=> Profile $PROFILE not found"
|
||||||
|
|||||||
274
nvm.sh
274
nvm.sh
@@ -28,7 +28,7 @@ nvm_download() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nvm_has_system_node() {
|
nvm_has_system_node() {
|
||||||
[ "$(nvm deactivate 2> /dev/null && command -v node)" != '' ]
|
[ "$(nvm deactivate >/dev/null 2>&1 && command -v node)" != '' ]
|
||||||
}
|
}
|
||||||
|
|
||||||
# Make zsh glob matching behave same as bash
|
# Make zsh glob matching behave same as bash
|
||||||
@@ -93,22 +93,34 @@ nvm_find_nvmrc() {
|
|||||||
|
|
||||||
# Obtain nvm version from rc file
|
# Obtain nvm version from rc file
|
||||||
nvm_rc_version() {
|
nvm_rc_version() {
|
||||||
|
export NVM_RC_VERSION=''
|
||||||
local NVMRC_PATH
|
local NVMRC_PATH
|
||||||
NVMRC_PATH="$(nvm_find_nvmrc)"
|
NVMRC_PATH="$(nvm_find_nvmrc)"
|
||||||
if [ -e "$NVMRC_PATH" ]; then
|
if [ -e "$NVMRC_PATH" ]; then
|
||||||
read NVM_RC_VERSION < "$NVMRC_PATH"
|
read NVM_RC_VERSION < "$NVMRC_PATH"
|
||||||
echo "Found '$NVMRC_PATH' with version <$NVM_RC_VERSION>"
|
echo "Found '$NVMRC_PATH' with version <$NVM_RC_VERSION>"
|
||||||
|
else
|
||||||
|
>&2 echo "No .nvmrc file found"
|
||||||
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_version_greater() {
|
nvm_version_greater() {
|
||||||
local LHS
|
local LHS
|
||||||
LHS=$(echo "$1" | awk -F. '{for (i=1;i<=NF;++i) printf "%010d",$i}')
|
LHS=$(nvm_normalize_version "$1")
|
||||||
local RHS
|
local RHS
|
||||||
RHS=$(echo "$2" | awk -F. '{for (i=1;i<=NF;++i) printf "%010d",$i}')
|
RHS=$(nvm_normalize_version "$2")
|
||||||
[ $LHS -gt $RHS ];
|
[ $LHS -gt $RHS ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_version_greater_than_or_equal_to() {
|
||||||
|
local LHS
|
||||||
|
LHS=$(nvm_normalize_version "$1")
|
||||||
|
local RHS
|
||||||
|
RHS=$(nvm_normalize_version "$2")
|
||||||
|
[ $LHS -ge $RHS ];
|
||||||
|
}
|
||||||
|
|
||||||
nvm_version_dir() {
|
nvm_version_dir() {
|
||||||
local NVM_USE_NEW_DIR
|
local NVM_USE_NEW_DIR
|
||||||
NVM_USE_NEW_DIR="$1"
|
NVM_USE_NEW_DIR="$1"
|
||||||
@@ -150,7 +162,7 @@ nvm_version() {
|
|||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VERSION=`nvm_ls $PATTERN | tail -n1`
|
VERSION="$(nvm_ls "$PATTERN" | tail -n1)"
|
||||||
echo "$VERSION"
|
echo "$VERSION"
|
||||||
|
|
||||||
if [ "$VERSION" = 'N/A' ]; then
|
if [ "$VERSION" = 'N/A' ]; then
|
||||||
@@ -160,22 +172,47 @@ nvm_version() {
|
|||||||
|
|
||||||
nvm_remote_version() {
|
nvm_remote_version() {
|
||||||
local PATTERN
|
local PATTERN
|
||||||
PATTERN=$1
|
PATTERN="$1"
|
||||||
local VERSION
|
local VERSION
|
||||||
VERSION=`nvm_ls_remote $PATTERN | tail -n1`
|
VERSION="$(nvm_ls_remote "$PATTERN" | tail -n1)"
|
||||||
echo "$VERSION"
|
echo "$VERSION"
|
||||||
|
|
||||||
if [ "$VERSION" = 'N/A' ]; then
|
if [ "_$VERSION" = '_N/A' ]; then
|
||||||
return 3
|
return 3
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_normalize_version() {
|
nvm_normalize_version() {
|
||||||
echo "$1" | sed -e 's/^v//' | \awk -F. '{ printf("%d%03d%03d\n", $1,$2,$3); }'
|
echo "$1" | sed -e 's/^v//' | \awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
|
||||||
|
}
|
||||||
|
|
||||||
|
nvm_ensure_version_prefix() {
|
||||||
|
echo "$1" | sed -e 's/^\([0-9]\)/v\1/g'
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_format_version() {
|
nvm_format_version() {
|
||||||
echo "$1" | sed -e 's/^\([0-9]\)/v\1/g'
|
local VERSION
|
||||||
|
VERSION="$(nvm_ensure_version_prefix "$1")"
|
||||||
|
if [ "_$(nvm_num_version_groups "$VERSION")" != "_3" ]; then
|
||||||
|
VERSION="$(echo "$VERSION" | sed -e 's/\.*$/.0/')"
|
||||||
|
nvm_format_version "$VERSION"
|
||||||
|
else
|
||||||
|
echo "$VERSION"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
nvm_num_version_groups() {
|
||||||
|
local VERSION
|
||||||
|
VERSION="$1"
|
||||||
|
if [ -z "$VERSION" ]; then
|
||||||
|
echo "0"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
local NVM_NUM_DOTS
|
||||||
|
NVM_NUM_DOTS=$(echo "$VERSION" | sed -e 's/^v//' | sed -e 's/\.$//' | sed -e 's/[^\.]//g')
|
||||||
|
local NVM_NUM_GROUPS
|
||||||
|
NVM_NUM_GROUPS=".$NVM_NUM_DOTS"
|
||||||
|
echo "${#NVM_NUM_GROUPS}"
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_strip_path() {
|
nvm_strip_path() {
|
||||||
@@ -192,11 +229,9 @@ nvm_prepend_path() {
|
|||||||
|
|
||||||
nvm_binary_available() {
|
nvm_binary_available() {
|
||||||
# binaries started with node 0.8.6
|
# binaries started with node 0.8.6
|
||||||
local MINIMAL
|
local FIRST_VERSION_WITH_BINARY
|
||||||
MINIMAL="0.8.6"
|
FIRST_VERSION_WITH_BINARY="0.8.6"
|
||||||
local VERSION
|
nvm_version_greater_than_or_equal_to "$1" "$FIRST_VERSION_WITH_BINARY"
|
||||||
VERSION=$1
|
|
||||||
[ $(nvm_normalize_version $VERSION) -ge $(nvm_normalize_version $MINIMAL) ]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_ls_current() {
|
nvm_ls_current() {
|
||||||
@@ -228,18 +263,22 @@ nvm_ls() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "$NVM_DIR/alias/$PATTERN" ]; then
|
if [ -f "$NVM_DIR/alias/$PATTERN" ]; then
|
||||||
nvm_version `cat $NVM_DIR/alias/$PATTERN`
|
nvm_version "$(cat "$NVM_DIR/alias/$PATTERN")"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
# If it looks like an explicit version, don't do anything funny
|
# If it looks like an explicit version, don't do anything funny
|
||||||
if [ `expr "$PATTERN" : "v[0-9]*\.[0-9]*\.[0-9]*$"` != 0 ]; then
|
PATTERN=$(nvm_ensure_version_prefix $PATTERN)
|
||||||
|
if [ "_$(echo "$PATTERN" | cut -c1-1)" = "_v" ] && [ "_$(nvm_num_version_groups "$PATTERN")" = "_3" ]; then
|
||||||
if [ -d "$(nvm_version_path "$PATTERN")" ]; then
|
if [ -d "$(nvm_version_path "$PATTERN")" ]; then
|
||||||
VERSIONS="$PATTERN"
|
VERSIONS="$PATTERN"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
PATTERN=$(nvm_format_version $PATTERN)
|
if [ "_$PATTERN" != "_system" ]; then
|
||||||
if [ `expr "$PATTERN" : "v[0-9]*\.[0-9]*$"` != 0 ]; then
|
local NUM_VERSION_GROUPS
|
||||||
PATTERN="$PATTERN."
|
NUM_VERSION_GROUPS="$(nvm_num_version_groups "$PATTERN")"
|
||||||
|
if [ "_$NUM_VERSION_GROUPS" = "_2" ] || [ "_$NUM_VERSION_GROUPS" = "_1" ]; then
|
||||||
|
PATTERN="$(echo "$PATTERN" | sed -e 's/\.*$//g')."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [ -d "$(nvm_version_dir new)" ]; then
|
if [ -d "$(nvm_version_dir new)" ]; then
|
||||||
VERSIONS=`find "$(nvm_version_dir new)/" "$(nvm_version_dir old)/" -maxdepth 1 -type d -name "$PATTERN*" -exec basename '{}' ';' \
|
VERSIONS=`find "$(nvm_version_dir new)/" "$(nvm_version_dir old)/" -maxdepth 1 -type d -name "$PATTERN*" -exec basename '{}' ';' \
|
||||||
@@ -249,25 +288,32 @@ nvm_ls() {
|
|||||||
| sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n | \grep -v '^ *\.' | \grep -e '^v'`
|
| sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n | \grep -v '^ *\.' | \grep -e '^v'`
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if nvm_has_system_node; then
|
||||||
|
if [ -z "$PATTERN" ]; then
|
||||||
|
VERSIONS="$VERSIONS$(printf '\n%s' 'system')"
|
||||||
|
elif [ "$PATTERN" = 'system' ]; then
|
||||||
|
VERSIONS="$(printf '%s' 'system')"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z "$VERSIONS" ]; then
|
if [ -z "$VERSIONS" ]; then
|
||||||
echo "N/A"
|
echo "N/A"
|
||||||
return 3
|
return 3
|
||||||
fi
|
fi
|
||||||
if [ -z "$PATTERN" ] && nvm_has_system_node; then
|
|
||||||
VERSIONS="$VERSIONS$(printf '\n%s' 'system')"
|
|
||||||
fi
|
|
||||||
echo "$VERSIONS"
|
echo "$VERSIONS"
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_ls_remote() {
|
nvm_ls_remote() {
|
||||||
local PATTERN
|
local PATTERN
|
||||||
PATTERN=$1
|
PATTERN="$1"
|
||||||
local VERSIONS
|
local VERSIONS
|
||||||
local GREP_OPTIONS
|
local GREP_OPTIONS
|
||||||
GREP_OPTIONS=''
|
GREP_OPTIONS=''
|
||||||
if [ -n "$PATTERN" ]; then
|
if [ -n "$PATTERN" ]; then
|
||||||
PATTERN=`nvm_format_version "$PATTERN"`
|
PATTERN="$(nvm_ensure_version_prefix "$PATTERN")"
|
||||||
else
|
else
|
||||||
PATTERN=".*"
|
PATTERN=".*"
|
||||||
fi
|
fi
|
||||||
@@ -285,14 +331,14 @@ nvm_ls_remote() {
|
|||||||
|
|
||||||
nvm_checksum() {
|
nvm_checksum() {
|
||||||
if nvm_has "sha1sum"; then
|
if nvm_has "sha1sum"; then
|
||||||
checksum=$(sha1sum $1 | \awk '{print $1}')
|
checksum="$(sha1sum "$1" | \awk '{print $1}')"
|
||||||
elif nvm_has "sha1"; then
|
elif nvm_has "sha1"; then
|
||||||
checksum=$(sha1 -q $1)
|
checksum="$(sha1 -q "$1")"
|
||||||
else
|
else
|
||||||
checksum=$(shasum $1 | \awk '{print $1}')
|
checksum="$(shasum "$1" | \awk '{print $1}')"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$checksum" = "$2" ]; then
|
if [ "_$checksum" = "_$2" ]; then
|
||||||
return
|
return
|
||||||
elif [ -z "$2" ]; then
|
elif [ -z "$2" ]; then
|
||||||
echo 'Checksums empty' #missing in raspberry pi binary
|
echo 'Checksums empty' #missing in raspberry pi binary
|
||||||
@@ -426,28 +472,45 @@ nvm() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
provided_version=$1
|
provided_version=$1
|
||||||
|
|
||||||
if [ -z "$provided_version" ]; then
|
if [ -z "$provided_version" ]; then
|
||||||
if [ $version_not_provided -ne 1 ]; then
|
if [ $version_not_provided -ne 1 ]; then
|
||||||
nvm_rc_version
|
nvm_rc_version
|
||||||
fi
|
fi
|
||||||
provided_version="$NVM_RC_VERSION"
|
provided_version="$NVM_RC_VERSION"
|
||||||
|
else
|
||||||
|
shift
|
||||||
fi
|
fi
|
||||||
[ -d "$(nvm_version_path "$provided_version")" ] && echo "$provided_version is already installed." >&2 && return
|
|
||||||
|
|
||||||
VERSION=`nvm_remote_version $provided_version`
|
VERSION="$(nvm_remote_version "$provided_version")"
|
||||||
ADDITIONAL_PARAMETERS=''
|
ADDITIONAL_PARAMETERS=''
|
||||||
|
local PROVIDED_COPY_PACKAGES_FROM
|
||||||
shift
|
local COPY_PACKAGES_FROM
|
||||||
|
|
||||||
while [ $# -ne 0 ]
|
while [ $# -ne 0 ]
|
||||||
do
|
do
|
||||||
ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1"
|
if [ "_$(echo "$1" | cut -c 1-21)" = "_--copy-packages-from=" ]; then
|
||||||
|
PROVIDED_COPY_PACKAGES_FROM="$(echo "$1" | cut -c 22-)"
|
||||||
|
COPY_PACKAGES_FROM="$(nvm_version "$PROVIDED_COPY_PACKAGES_FROM")"
|
||||||
|
else
|
||||||
|
ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1"
|
||||||
|
fi
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [ "_$(nvm_ensure_version_prefix "$PROVIDED_COPY_PACKAGES_FROM")" = "_$VERSION" ]; then
|
||||||
|
echo "You can't copy global packages from the same version of node you're installing." >&2
|
||||||
|
return 4
|
||||||
|
elif [ ! -z "$PROVIDED_COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" = "_N/A" ]; then
|
||||||
|
echo "If --copy-packages-from is provided, it must point to an installed version of node." >&2
|
||||||
|
return 5
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -d "$(nvm_version_path "$VERSION")" ]; then
|
if [ -d "$(nvm_version_path "$VERSION")" ]; then
|
||||||
echo "$VERSION is already installed." >&2
|
echo "$VERSION is already installed." >&2
|
||||||
nvm use "$VERSION"
|
if nvm use "$VERSION" && [ ! -z "$COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" != "_N/A" ]; then
|
||||||
|
nvm copy-packages "$COPY_PACKAGES_FROM"
|
||||||
|
fi
|
||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -477,7 +540,9 @@ nvm() {
|
|||||||
mv "$tmpdir" "$(nvm_version_path "$VERSION")"
|
mv "$tmpdir" "$(nvm_version_path "$VERSION")"
|
||||||
)
|
)
|
||||||
then
|
then
|
||||||
nvm use $VERSION
|
if nvm use "$VERSION" && [ ! -z "$COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" != "_N/A" ]; then
|
||||||
|
nvm copy-packages "$COPY_PACKAGES_FROM"
|
||||||
|
fi
|
||||||
return $?
|
return $?
|
||||||
else
|
else
|
||||||
echo "Binary download failed, trying source." >&2
|
echo "Binary download failed, trying source." >&2
|
||||||
@@ -487,7 +552,9 @@ nvm() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Additional options while compiling: $ADDITIONAL_PARAMETERS"
|
if [ -n "$ADDITIONAL_PARAMETERS" ]; then
|
||||||
|
echo "Additional options while compiling: $ADDITIONAL_PARAMETERS"
|
||||||
|
fi
|
||||||
|
|
||||||
tarball=''
|
tarball=''
|
||||||
sum=''
|
sum=''
|
||||||
@@ -519,13 +586,15 @@ nvm() {
|
|||||||
$make $MAKE_CXX install
|
$make $MAKE_CXX install
|
||||||
)
|
)
|
||||||
then
|
then
|
||||||
nvm use $VERSION
|
if nvm use "$VERSION" && [ ! -z "$COPY_PACKAGES_FROM" ] && [ "_$COPY_PACKAGES_FROM" != "_N/A" ]; then
|
||||||
|
nvm copy-packages "$COPY_PACKAGES_FROM"
|
||||||
|
fi
|
||||||
if ! nvm_has "npm" ; then
|
if ! nvm_has "npm" ; then
|
||||||
echo "Installing npm..."
|
echo "Installing npm..."
|
||||||
if [ "`expr "$VERSION" : '\(^v0\.1\.\)'`" != '' ]; then
|
if nvm_version_greater 0.2.0 "$VERSION"; then
|
||||||
echo "npm requires node v0.2.3 or higher" >&2
|
echo "npm requires node v0.2.3 or higher" >&2
|
||||||
elif [ "`expr "$VERSION" : '\(^v0\.2\.\)'`" != '' ]; then
|
elif nvm_version_greater_than_or_equal_to "$VERSION" 0.2.0; then
|
||||||
if [ "`expr "$VERSION" : '\(^v0\.2\.[0-2]$\)'`" != '' ]; then
|
if nvm_version_greater 0.2.3 "$VERSION"; then
|
||||||
echo "npm requires node v0.2.3 or higher" >&2
|
echo "npm requires node v0.2.3 or higher" >&2
|
||||||
else
|
else
|
||||||
nvm_download https://npmjs.org/install.sh -o - | clean=yes npm_install=0.2.19 sh
|
nvm_download https://npmjs.org/install.sh -o - | clean=yes npm_install=0.2.19 sh
|
||||||
@@ -538,10 +607,12 @@ nvm() {
|
|||||||
echo "nvm: install $VERSION failed!" >&2
|
echo "nvm: install $VERSION failed!" >&2
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
return $?
|
||||||
;;
|
;;
|
||||||
"uninstall" )
|
"uninstall" )
|
||||||
[ $# -ne 2 ] && nvm help && return
|
[ $# -ne 2 ] && nvm help && return
|
||||||
PATTERN=`nvm_format_version $2`
|
PATTERN=`nvm_ensure_version_prefix $2`
|
||||||
if [ "$PATTERN" = `nvm_version` ]; then
|
if [ "$PATTERN" = `nvm_version` ]; then
|
||||||
echo "nvm: Cannot uninstall currently-active node version, $PATTERN." >&2
|
echo "nvm: Cannot uninstall currently-active node version, $PATTERN." >&2
|
||||||
return 1
|
return 1
|
||||||
@@ -570,24 +641,30 @@ nvm() {
|
|||||||
|
|
||||||
;;
|
;;
|
||||||
"deactivate" )
|
"deactivate" )
|
||||||
if [ `expr "$PATH" : ".*$NVM_DIR/.*/bin.*"` != 0 ] ; then
|
local NEWPATH
|
||||||
export PATH=`nvm_strip_path "$PATH" "/bin"`
|
NEWPATH="$(nvm_strip_path "$PATH" "/bin")"
|
||||||
|
if [ "$PATH" = "$NEWPATH" ]; then
|
||||||
|
echo "Could not find $NVM_DIR/*/bin in \$PATH" >&2
|
||||||
|
else
|
||||||
|
export PATH="$NEWPATH"
|
||||||
hash -r
|
hash -r
|
||||||
echo "$NVM_DIR/*/bin removed from \$PATH"
|
echo "$NVM_DIR/*/bin removed from \$PATH"
|
||||||
else
|
|
||||||
echo "Could not find $NVM_DIR/*/bin in \$PATH" >&2
|
|
||||||
fi
|
fi
|
||||||
if [ `expr "$MANPATH" : ".*$NVM_DIR/.*/share/man.*"` != 0 ] ; then
|
|
||||||
export MANPATH=`nvm_strip_path "$MANPATH" "/share/man"`
|
NEWPATH="$(nvm_strip_path "$MANPATH" "/share/man")"
|
||||||
echo "$NVM_DIR/*/share/man removed from \$MANPATH"
|
if [ "$MANPATH" = "$NEWPATH" ]; then
|
||||||
else
|
|
||||||
echo "Could not find $NVM_DIR/*/share/man in \$MANPATH" >&2
|
echo "Could not find $NVM_DIR/*/share/man in \$MANPATH" >&2
|
||||||
fi
|
|
||||||
if [ `expr "$NODE_PATH" : ".*$NVM_DIR/.*/lib/node_modules.*"` != 0 ] ; then
|
|
||||||
export NODE_PATH=`nvm_strip_path "$NODE_PATH" "/lib/node_modules"`
|
|
||||||
echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH"
|
|
||||||
else
|
else
|
||||||
|
export MANPATH="$NEWPATH"
|
||||||
|
echo "$NVM_DIR/*/share/man removed from \$MANPATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
NEWPATH="$(nvm_strip_path "$NODE_PATH" "/lib/node_modules")"
|
||||||
|
if [ "$NODE_PATH" = "$NEWPATH" ]; then
|
||||||
echo "Could not find $NVM_DIR/*/lib/node_modules in \$NODE_PATH" >&2
|
echo "Could not find $NVM_DIR/*/lib/node_modules in \$NODE_PATH" >&2
|
||||||
|
else
|
||||||
|
export NODE_PATH="$NEWPATH"
|
||||||
|
echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"use" )
|
"use" )
|
||||||
@@ -600,26 +677,26 @@ nvm() {
|
|||||||
if [ -n "$NVM_RC_VERSION" ]; then
|
if [ -n "$NVM_RC_VERSION" ]; then
|
||||||
VERSION=`nvm_version $NVM_RC_VERSION`
|
VERSION=`nvm_version $NVM_RC_VERSION`
|
||||||
fi
|
fi
|
||||||
|
elif [ "_$2" != '_system' ]; then
|
||||||
|
VERSION="$(nvm_version "$2")"
|
||||||
else
|
else
|
||||||
if [ $2 = 'system' ]; then
|
VERSION="$2"
|
||||||
if nvm_has_system_node && nvm deactivate; then
|
|
||||||
echo "Now using system version of node: $(node -v 2>/dev/null)."
|
|
||||||
return
|
|
||||||
else
|
|
||||||
echo "System version of node not found." >&2
|
|
||||||
return 127
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
VERSION=`nvm_version $2`
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
if [ -z "$VERSION" ]; then
|
if [ -z "$VERSION" ]; then
|
||||||
nvm help
|
nvm help
|
||||||
return 127
|
return 127
|
||||||
fi
|
fi
|
||||||
if [ -z "$VERSION" ]; then
|
|
||||||
VERSION=`nvm_version $2`
|
if [ "_$VERSION" = '_system' ]; then
|
||||||
|
if nvm_has_system_node && nvm deactivate >/dev/null 2>&1; then
|
||||||
|
echo "Now using system version of node: $(node -v 2>/dev/null)."
|
||||||
|
return
|
||||||
|
else
|
||||||
|
echo "System version of node not found." >&2
|
||||||
|
return 127
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local NVM_VERSION_DIR
|
local NVM_VERSION_DIR
|
||||||
NVM_VERSION_DIR="$(nvm_version_path "$VERSION")"
|
NVM_VERSION_DIR="$(nvm_version_path "$VERSION")"
|
||||||
if [ ! -d "$NVM_VERSION_DIR" ]; then
|
if [ ! -d "$NVM_VERSION_DIR" ]; then
|
||||||
@@ -700,13 +777,13 @@ nvm() {
|
|||||||
shift
|
shift
|
||||||
|
|
||||||
local provided_version
|
local provided_version
|
||||||
provided_version=$1
|
provided_version="$1"
|
||||||
if [ -n "$provided_version" ]; then
|
if [ -n "$provided_version" ]; then
|
||||||
VERSION=`nvm_version $provided_version`
|
VERSION=`nvm_version $provided_version`
|
||||||
if [ $VERSION = "N/A" ]; then
|
if [ $VERSION = "N/A" ]; then
|
||||||
provided_version=''
|
provided_version=''
|
||||||
nvm_rc_version
|
nvm_rc_version
|
||||||
VERSION=`nvm_version $NVM_RC_VERSION`
|
VERSION="$(nvm_version "$NVM_RC_VERSION")"
|
||||||
else
|
else
|
||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
@@ -733,41 +810,43 @@ nvm() {
|
|||||||
return $NVM_LS_EXIT_CODE
|
return $NVM_LS_EXIT_CODE
|
||||||
;;
|
;;
|
||||||
"ls-remote" | "list-remote" )
|
"ls-remote" | "list-remote" )
|
||||||
nvm_print_versions "`nvm_ls_remote $2`"
|
local NVM_LS_EXIT_CODE
|
||||||
return
|
NVM_LS_OUTPUT=$(nvm_ls_remote "$2")
|
||||||
|
NVM_LS_EXIT_CODE=$?
|
||||||
|
nvm_print_versions "$NVM_LS_OUTPUT"
|
||||||
|
return $NVM_LS_EXIT_CODE
|
||||||
;;
|
;;
|
||||||
"current" )
|
"current" )
|
||||||
nvm_version current
|
nvm_version current
|
||||||
;;
|
;;
|
||||||
"alias" )
|
"alias" )
|
||||||
mkdir -p $NVM_DIR/alias
|
mkdir -p "$NVM_DIR/alias"
|
||||||
if [ $# -le 2 ]; then
|
if [ $# -le 2 ]; then
|
||||||
local DEST
|
local DEST
|
||||||
for ALIAS in $NVM_DIR/alias/$2*; do
|
for ALIAS in "$NVM_DIR"/alias/"$2"*; do
|
||||||
if [ -e "$ALIAS" ]; then
|
if [ -e "$ALIAS" ]; then
|
||||||
DEST=`cat $ALIAS`
|
DEST="$(cat "$ALIAS")"
|
||||||
VERSION=`nvm_version $DEST`
|
VERSION="$(nvm_version "$DEST")"
|
||||||
if [ "$DEST" = "$VERSION" ]; then
|
if [ "_$DEST" = "_$VERSION" ]; then
|
||||||
echo "$(basename $ALIAS) -> $DEST"
|
echo "$(basename "$ALIAS") -> $DEST"
|
||||||
else
|
else
|
||||||
echo "$(basename $ALIAS) -> $DEST (-> $VERSION)"
|
echo "$(basename "$ALIAS") -> $DEST (-> $VERSION)"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
if [ -z "$3" ]; then
|
if [ -z "$3" ]; then
|
||||||
rm -f $NVM_DIR/alias/$2
|
rm -f "$NVM_DIR/alias/$2"
|
||||||
echo "$2 -> *poof*"
|
echo "$2 -> *poof*"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
mkdir -p $NVM_DIR/alias
|
VERSION="$(nvm_version "$3")"
|
||||||
VERSION=`nvm_version $3`
|
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "! WARNING: Version '$3' does not exist." >&2
|
echo "! WARNING: Version '$3' does not exist." >&2
|
||||||
fi
|
fi
|
||||||
echo $3 > "$NVM_DIR/alias/$2"
|
echo $3 > "$NVM_DIR/alias/$2"
|
||||||
if [ ! "$3" = "$VERSION" ]; then
|
if [ ! "_$3" = "_$VERSION" ]; then
|
||||||
echo "$2 -> $3 (-> $VERSION)"
|
echo "$2 -> $3 (-> $VERSION)"
|
||||||
else
|
else
|
||||||
echo "$2 -> $3"
|
echo "$2 -> $3"
|
||||||
@@ -785,12 +864,29 @@ nvm() {
|
|||||||
nvm help
|
nvm help
|
||||||
return 127
|
return 127
|
||||||
fi
|
fi
|
||||||
VERSION="$(nvm_version "$2")"
|
|
||||||
|
|
||||||
# declare local INSTALLS first, otherwise it doesn't work in zsh
|
local PROVIDED_VERSION
|
||||||
|
PROVIDED_VERSION="$2"
|
||||||
|
|
||||||
|
if [ "$PROVIDED_VERSION" = "$(nvm_ls_current)" ] || [ "$(nvm_version $PROVIDED_VERSION)" = "$(nvm_ls_current)" ]; then
|
||||||
|
echo 'Can not copy packages from the current version of node.' >&2
|
||||||
|
return 2
|
||||||
|
fi
|
||||||
|
|
||||||
local INSTALLS
|
local INSTALLS
|
||||||
INSTALLS=$(nvm use "$VERSION" > /dev/null && npm list -g --depth=0 | tail -n +2 | \grep -o -e ' [^@]*' | cut -c 2- | \grep -v npm | xargs)
|
if [ "$PROVIDED_VERSION" = "system" ]; then
|
||||||
|
if ! nvm_has_system_node; then
|
||||||
|
echo 'No system version of node detected.' >&2
|
||||||
|
return 3
|
||||||
|
fi
|
||||||
|
INSTALLS=$(nvm deactivate > /dev/null && npm list -g --depth=0 | tail -n +2 | \grep -o -e ' [^@]*' | cut -c 2- | \grep -v npm | xargs)
|
||||||
|
else
|
||||||
|
local VERSION
|
||||||
|
VERSION="$(nvm_version "$PROVIDED_VERSION")"
|
||||||
|
INSTALLS=$(nvm use "$VERSION" > /dev/null && npm list -g --depth=0 | tail -n +2 | \grep -o -e ' [^@]*' | cut -c 2- | \grep -v npm | xargs)
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Copying global packages from $VERSION..."
|
||||||
echo "$INSTALLS" | xargs npm install -g --quiet
|
echo "$INSTALLS" | xargs npm install -g --quiet
|
||||||
;;
|
;;
|
||||||
"clear-cache" )
|
"clear-cache" )
|
||||||
@@ -801,10 +897,10 @@ nvm() {
|
|||||||
nvm_version $2
|
nvm_version $2
|
||||||
;;
|
;;
|
||||||
"--version" )
|
"--version" )
|
||||||
echo "0.15.0"
|
echo "0.17.2"
|
||||||
;;
|
;;
|
||||||
"unload" )
|
"unload" )
|
||||||
unset -f nvm nvm_print_versions nvm_checksum nvm_ls_remote nvm_ls nvm_remote_version nvm_version nvm_rc_version nvm_version_greater > /dev/null 2>&1
|
unset -f nvm nvm_print_versions nvm_checksum nvm_ls_remote nvm_ls nvm_remote_version nvm_version nvm_rc_version nvm_version_greater nvm_version_greater_than_or_equal_to > /dev/null 2>&1
|
||||||
unset RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_DIR NVM_CD_FLAGS > /dev/null 2>&1
|
unset RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_DIR NVM_CD_FLAGS > /dev/null 2>&1
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
@@ -813,5 +909,9 @@ nvm() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm ls default >/dev/null && nvm use default >/dev/null || true
|
if nvm ls default >/dev/null; then
|
||||||
|
nvm use default >/dev/null
|
||||||
|
elif nvm_rc_version >/dev/null 2>&1; then
|
||||||
|
nvm use >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nvm",
|
"name": "nvm",
|
||||||
"version": "0.15.0",
|
"version": "0.17.2",
|
||||||
"description": "Node Version Manager - Simple bash script to manage multiple active node.js versions",
|
"description": "Node Version Manager - Simple bash script to manage multiple active node.js versions",
|
||||||
"directories": {
|
"directories": {
|
||||||
"test": "test"
|
"test": "test"
|
||||||
@@ -8,7 +8,8 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "urchin test",
|
"test": "urchin test",
|
||||||
"test/fast": "urchin -f test/fast",
|
"test/fast": "urchin -f test/fast",
|
||||||
"test/slow": "urchin -f test/slow"
|
"test/slow": "urchin -f test/slow",
|
||||||
|
"test/installation": "urchin -f test/installation"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
@@ -1,4 +1,28 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
. ../../../nvm.sh
|
||||||
[ $(nvm alias | wc -l) = '10' ]
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
NVM_ALIAS_OUTPUT=$(nvm alias)
|
||||||
|
echo "$NVM_ALIAS_OUTPUT" | \grep -e '^test1 -> 0.0.1 (-> v0.0.1)$' \
|
||||||
|
|| die "did not find test1 alias"
|
||||||
|
echo "$NVM_ALIAS_OUTPUT" | \grep -e '^test2 -> 0.0.2 (-> v0.0.2)$' \
|
||||||
|
|| die "did not find test2 alias"
|
||||||
|
echo "$NVM_ALIAS_OUTPUT" | \grep -e '^test3 -> 0.0.3 (-> v0.0.3)$' \
|
||||||
|
|| die "did not find test3 alias"
|
||||||
|
echo "$NVM_ALIAS_OUTPUT" | \grep -e '^test4 -> 0.0.4 (-> v0.0.4)$' \
|
||||||
|
|| die "did not find test4 alias"
|
||||||
|
echo "$NVM_ALIAS_OUTPUT" | \grep -e '^test5 -> 0.0.5 (-> v0.0.5)$' \
|
||||||
|
|| die "did not find test5 alias"
|
||||||
|
echo "$NVM_ALIAS_OUTPUT" | \grep -e '^test6 -> 0.0.6 (-> v0.0.6)$' \
|
||||||
|
|| die "did not find test6 alias"
|
||||||
|
echo "$NVM_ALIAS_OUTPUT" | \grep -e '^test7 -> 0.0.7 (-> v0.0.7)$' \
|
||||||
|
|| die "did not find test7 alias"
|
||||||
|
echo "$NVM_ALIAS_OUTPUT" | \grep -e '^test8 -> 0.0.8 (-> v0.0.8)$' \
|
||||||
|
|| die "did not find test8 alias"
|
||||||
|
echo "$NVM_ALIAS_OUTPUT" | \grep -e '^test9 -> 0.0.9 (-> v0.0.9)$' \
|
||||||
|
|| die "did not find test9 alias"
|
||||||
|
echo "$NVM_ALIAS_OUTPUT" | \grep -e '^test10 -> 0.0.10 (-> v0.0.10)$' \
|
||||||
|
|| die "did not find test10 alias"
|
||||||
|
|
||||||
|
|||||||
@@ -2,5 +2,6 @@
|
|||||||
|
|
||||||
for i in $(seq 1 10)
|
for i in $(seq 1 10)
|
||||||
do
|
do
|
||||||
echo v0.0.$i > ../../../alias/test$i
|
echo 0.0.$i > ../../../alias/test$i
|
||||||
|
mkdir -p ../../../v0.0.$i
|
||||||
done
|
done
|
||||||
|
|||||||
8
test/fast/Aliases/teardown_dir
Executable file
8
test/fast/Aliases/teardown_dir
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
for i in $(seq 1 10)
|
||||||
|
do
|
||||||
|
rm -f "../../../alias/test$i"
|
||||||
|
rm -rf "../../../v0.0.$i"
|
||||||
|
done
|
||||||
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
mkdir ../../../v0.0.2
|
||||||
|
mkdir ../../../v0.0.20
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
# The result should contain only the appropriate version numbers.
|
||||||
|
|
||||||
|
nvm ls 0.0.2 | grep 'v0.0.2' > /dev/null
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo '"nvm ls 0.0.2" contained v0.0.2'
|
||||||
|
fi
|
||||||
|
|
||||||
|
nvm ls 0.0.2 | grep 'v0.0.20' > /dev/null
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
die '"nvm ls 0.0.2" contained v0.0.20'
|
||||||
|
fi
|
||||||
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
mkdir -p ../../../v0.0.1
|
||||||
|
mkdir -p ../../../v0.0.3
|
||||||
|
mkdir -p ../../../v0.0.9
|
||||||
|
mkdir -p ../../../v0.3.1
|
||||||
|
mkdir -p ../../../v0.3.3
|
||||||
|
mkdir -p ../../../v0.3.9
|
||||||
|
|
||||||
|
nvm_has_system_node() { return 0; }
|
||||||
|
nvm ls system | grep system 2>&1 > /dev/null
|
||||||
|
[ $? -eq 0 ] || die '"nvm ls system" did not contain "system" when system node is present'
|
||||||
|
|
||||||
|
nvm_has_system_node() { return 1; }
|
||||||
|
nvm ls system | grep system 2>&1 > /dev/null
|
||||||
|
[ $? -ne 0 ] || die '"nvm ls system" contained "system" when system node is not present'
|
||||||
|
|
||||||
@@ -2,13 +2,10 @@
|
|||||||
|
|
||||||
mkdir ../../../v0.1.3
|
mkdir ../../../v0.1.3
|
||||||
mkdir ../../../v0.2.3
|
mkdir ../../../v0.2.3
|
||||||
|
mkdir ../../../versions
|
||||||
|
|
||||||
. ../../../nvm.sh
|
. ../../../nvm.sh
|
||||||
|
|
||||||
mkdir ../../../versions
|
|
||||||
|
|
||||||
[ -z "$(nvm ls | \grep 'versions')" ]
|
[ -z "$(nvm ls | \grep 'versions')" ]
|
||||||
# The result should contain only the appropriate version numbers.
|
# The result should contain only the appropriate version numbers.
|
||||||
|
|
||||||
rmdir ../../../versions
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,6 @@ mkdir ../../../v0.1.2
|
|||||||
|
|
||||||
nvm ls v0.1 | grep v0.1.2 &&
|
nvm ls v0.1 | grep v0.1.2 &&
|
||||||
nvm ls v0.1.2 | grep v0.1.2 &&
|
nvm ls v0.1.2 | grep v0.1.2 &&
|
||||||
nvm ls v0.1. | grep N/A &&
|
nvm ls v0.1. | grep v0.1.2 &&
|
||||||
nvm ls v0.1.1 | grep N/A
|
nvm ls v0.1.1 | grep N/A
|
||||||
|
|
||||||
|
|||||||
24
test/fast/Listing versions/teardown
Normal file → Executable file
24
test/fast/Listing versions/teardown
Normal file → Executable file
@@ -1,12 +1,14 @@
|
|||||||
rmdir ../../../v0.0.1
|
rmdir ../../../v0.0.1 >/dev/null 2>&1
|
||||||
rmdir ../../../v0.0.3
|
rmdir ../../../v0.0.2 >/dev/null 2>&1
|
||||||
rmdir ../../../v0.0.9
|
rmdir ../../../v0.0.3 >/dev/null 2>&1
|
||||||
rmdir ../../../v0.1.2
|
rmdir ../../../v0.0.9 >/dev/null 2>&1
|
||||||
rmdir ../../../v0.1.3
|
rmdir ../../../v0.0.20 >/dev/null 2>&1
|
||||||
rmdir ../../../v0.2.3
|
rmdir ../../../v0.1.2 >/dev/null 2>&1
|
||||||
rmdir ../../../v0.3.1
|
rmdir ../../../v0.1.3 >/dev/null 2>&1
|
||||||
rmdir ../../../v0.3.3
|
rmdir ../../../v0.2.3 >/dev/null 2>&1
|
||||||
rmdir ../../../v0.3.9
|
rmdir ../../../v0.3.1 >/dev/null 2>&1
|
||||||
rmdir ../../../versions
|
rmdir ../../../v0.3.3 >/dev/null 2>&1
|
||||||
unalias nvm_has_system_node
|
rmdir ../../../v0.3.9 >/dev/null 2>&1
|
||||||
|
rmdir ../../../versions >/dev/null 2>&1
|
||||||
|
unalias nvm_has_system_node >/dev/null 2>&1
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; cleanup ; exit 1; }
|
||||||
|
cleanup () {
|
||||||
|
rm -rf ../../v0.10.4
|
||||||
|
}
|
||||||
|
|
||||||
|
mkdir ../../v0.10.4
|
||||||
|
|
||||||
|
. ../../nvm.sh
|
||||||
|
|
||||||
|
nvm deactivate >/dev/null 2>&1
|
||||||
|
|
||||||
|
INSTALL_ERROR_MSG="$(nvm install v0.10.5 --copy-packages-from=0.11 2>&1)"
|
||||||
|
EXPECTED_ERROR_MSG="If --copy-packages-from is provided, it must point to an installed version of node."
|
||||||
|
[ "~$INSTALL_ERROR_MSG" = "~$EXPECTED_ERROR_MSG" ] \
|
||||||
|
|| die ""nvm install --copy-packages" should fail when given an uninstalled version: expected '$EXPECTED_ERROR_MSG', got '$INSTALL_ERROR_MSG'"
|
||||||
|
|
||||||
|
INSTALL_EXIT_CODE="$(nvm install v0.10.5 --copy-packages-from=0.11 >/dev/null 2>&1; echo $?)"
|
||||||
|
[ "~$INSTALL_EXIT_CODE" = "~5" ] \
|
||||||
|
|| die ""nvm install --copy-packages" should exit with code 5 when given an uninstalled version, got $INSTALL_EXIT_CODE"
|
||||||
|
|
||||||
|
INSTALL_ERROR_MSG="$(nvm install v0.10.5 --copy-packages-from=0.10.5 2>&1)"
|
||||||
|
EXPECTED_ERROR_MSG="You can't copy global packages from the same version of node you're installing."
|
||||||
|
[ "~$INSTALL_ERROR_MSG" = "~$EXPECTED_ERROR_MSG" ] \
|
||||||
|
|| die ""nvm install --copy-packages" should fail when given the same version: expected '$EXPECTED_ERROR_MSG', got '$INSTALL_ERROR_MSG'"
|
||||||
|
|
||||||
|
INSTALL_EXIT_CODE="$(nvm install v0.10.5 --copy-packages-from=0.10.5 >/dev/null 2>&1; echo $?)"
|
||||||
|
[ "~$INSTALL_EXIT_CODE" = "~4" ] \
|
||||||
|
|| die ""nvm install --copy-packages" should exit with code 4 when given the same version, got $INSTALL_EXIT_CODE"
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ function cleanup() {
|
|||||||
|
|
||||||
function runNvmUse() {
|
function runNvmUse() {
|
||||||
mkdir ../../${TEST_NODE_VERSION}
|
mkdir ../../${TEST_NODE_VERSION}
|
||||||
nvm use ${TEST_NODE_VERSION} &> /dev/null
|
nvm use ${TEST_NODE_VERSION} > /dev/null 2>&1
|
||||||
rmdir ../../${TEST_NODE_VERSION}
|
rmdir ../../${TEST_NODE_VERSION}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
26
test/fast/Unit tests/nvm_find_up
Executable file
26
test/fast/Unit tests/nvm_find_up
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; cleanup ; exit 1; }
|
||||||
|
setup() {
|
||||||
|
cleanup
|
||||||
|
mkdir -p tmp_nvm_find_up/a/b/c/d
|
||||||
|
touch tmp_nvm_find_up/test
|
||||||
|
touch tmp_nvm_find_up/a/b/c/test
|
||||||
|
}
|
||||||
|
cleanup () {
|
||||||
|
rm -rf tmp_nvm_find_up
|
||||||
|
}
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
setup
|
||||||
|
|
||||||
|
TEST_DIR="$PWD"
|
||||||
|
|
||||||
|
[ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up" ] || die "failed to find 1 dir up"
|
||||||
|
[ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a/b nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up" ] || die "failed to find 2 dirs up"
|
||||||
|
[ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a/b/c nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up/a/b/c" ] || die "failed to find in current dir"
|
||||||
|
[ "~$(PWD=$TEST_DIR/tmp_nvm_find_up/a/b/c/d nvm_find_up 'test')" = "~$TEST_DIR/tmp_nvm_find_up/a/b/c" ] || die "failed to find 1 level up from current dir"
|
||||||
|
|
||||||
|
cleanup
|
||||||
|
|
||||||
14
test/fast/Unit tests/nvm_format_version
Executable file
14
test/fast/Unit tests/nvm_format_version
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_format_version 0.1.2)"
|
||||||
|
EXPECTED_OUTPUT="v0.1.2"
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_format_version 0.1.2 did not return $EXPECTED_OUTPUT; got $OUTPUT"
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_format_version 0.1)"
|
||||||
|
EXPECTED_OUTPUT="v0.1.0"
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_format_version 0.1.0 did not return $EXPECTED_OUTPUT; got $OUTPUT"
|
||||||
|
|
||||||
12
test/fast/Unit tests/nvm_has
Executable file
12
test/fast/Unit tests/nvm_has
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
nvm_has cat && type cat > /dev/null || die 'nvm_has locates "cat" properly'
|
||||||
|
|
||||||
|
[ "~$(nvm_has foobarbaz 2>&1)" = "~" ] || die "nvm_has does not suppress error output"
|
||||||
|
|
||||||
|
! nvm_has foobarbaz && ! type foobarbaz >/dev/null 2>&1 || die "nvm_has does not return a nonzero exit code when not found"
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@ die () { echo $@ ; exit 1; }
|
|||||||
|
|
||||||
return_zero () { return 0; }
|
return_zero () { return 0; }
|
||||||
|
|
||||||
[ "$( (nvm deactivate > /dev/null 2>&1) && nvm_ls_current)" = "system" ] || die 'when deactivated, did not return "system"'
|
[ "$(nvm deactivate > /dev/null 2>&1 ; nvm_ls_current)" = "system" ] || die 'when deactivated, did not return "system"'
|
||||||
|
|
||||||
TEST_PWD=$(pwd)
|
TEST_PWD=$(pwd)
|
||||||
TEST_DIR="$TEST_PWD/nvm_ls_current_tmp"
|
TEST_DIR="$TEST_PWD/nvm_ls_current_tmp"
|
||||||
|
|||||||
468
test/fast/Unit tests/nvm_ls_remote
Executable file
468
test/fast/Unit tests/nvm_ls_remote
Executable file
@@ -0,0 +1,468 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; cleanup ; exit 1; }
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
unset -f nvm_download
|
||||||
|
}
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
# sample output at the time the test was written
|
||||||
|
nvm_download() {
|
||||||
|
echo 'foo "v0.10.0'
|
||||||
|
echo 'foo "v0.10.0'
|
||||||
|
echo 'foo "v0.10.1'
|
||||||
|
echo 'foo "v0.10.1'
|
||||||
|
echo 'foo "v0.10.10'
|
||||||
|
echo 'foo "v0.10.10'
|
||||||
|
echo 'foo "v0.10.11'
|
||||||
|
echo 'foo "v0.10.11'
|
||||||
|
echo 'foo "v0.10.12'
|
||||||
|
echo 'foo "v0.10.12'
|
||||||
|
echo 'foo "v0.10.13'
|
||||||
|
echo 'foo "v0.10.13'
|
||||||
|
echo 'foo "v0.10.14'
|
||||||
|
echo 'foo "v0.10.14'
|
||||||
|
echo 'foo "v0.10.15'
|
||||||
|
echo 'foo "v0.10.15'
|
||||||
|
echo 'foo "v0.10.16'
|
||||||
|
echo 'foo "v0.10.16'
|
||||||
|
echo 'foo "v0.10.16'
|
||||||
|
echo 'foo "v0.10.16'
|
||||||
|
echo 'foo "v0.10.17'
|
||||||
|
echo 'foo "v0.10.17'
|
||||||
|
echo 'foo "v0.10.18'
|
||||||
|
echo 'foo "v0.10.18'
|
||||||
|
echo 'foo "v0.10.19'
|
||||||
|
echo 'foo "v0.10.19'
|
||||||
|
echo 'foo "v0.10.2'
|
||||||
|
echo 'foo "v0.10.2'
|
||||||
|
echo 'foo "v0.10.20'
|
||||||
|
echo 'foo "v0.10.20'
|
||||||
|
echo 'foo "v0.10.21'
|
||||||
|
echo 'foo "v0.10.21'
|
||||||
|
echo 'foo "v0.10.22'
|
||||||
|
echo 'foo "v0.10.22'
|
||||||
|
echo 'foo "v0.10.23'
|
||||||
|
echo 'foo "v0.10.23'
|
||||||
|
echo 'foo "v0.10.24'
|
||||||
|
echo 'foo "v0.10.24'
|
||||||
|
echo 'foo "v0.10.25'
|
||||||
|
echo 'foo "v0.10.25'
|
||||||
|
echo 'foo "v0.10.26'
|
||||||
|
echo 'foo "v0.10.26'
|
||||||
|
echo 'foo "v0.10.27'
|
||||||
|
echo 'foo "v0.10.27'
|
||||||
|
echo 'foo "v0.10.28'
|
||||||
|
echo 'foo "v0.10.28'
|
||||||
|
echo 'foo "v0.10.29'
|
||||||
|
echo 'foo "v0.10.29'
|
||||||
|
echo 'foo "v0.10.3'
|
||||||
|
echo 'foo "v0.10.3'
|
||||||
|
echo 'foo "v0.10.30'
|
||||||
|
echo 'foo "v0.10.30'
|
||||||
|
echo 'foo "v0.10.31'
|
||||||
|
echo 'foo "v0.10.31'
|
||||||
|
echo 'foo "v0.10.32'
|
||||||
|
echo 'foo "v0.10.32'
|
||||||
|
echo 'foo "v0.10.4'
|
||||||
|
echo 'foo "v0.10.4'
|
||||||
|
echo 'foo "v0.10.5'
|
||||||
|
echo 'foo "v0.10.5'
|
||||||
|
echo 'foo "v0.10.6'
|
||||||
|
echo 'foo "v0.10.6'
|
||||||
|
echo 'foo "v0.10.7'
|
||||||
|
echo 'foo "v0.10.7'
|
||||||
|
echo 'foo "v0.10.8'
|
||||||
|
echo 'foo "v0.10.8'
|
||||||
|
echo 'foo "v0.10.9'
|
||||||
|
echo 'foo "v0.10.9'
|
||||||
|
echo 'foo "v0.11.0'
|
||||||
|
echo 'foo "v0.11.0'
|
||||||
|
echo 'foo "v0.11.1'
|
||||||
|
echo 'foo "v0.11.1'
|
||||||
|
echo 'foo "v0.11.10'
|
||||||
|
echo 'foo "v0.11.10'
|
||||||
|
echo 'foo "v0.11.11'
|
||||||
|
echo 'foo "v0.11.11'
|
||||||
|
echo 'foo "v0.11.12'
|
||||||
|
echo 'foo "v0.11.12'
|
||||||
|
echo 'foo "v0.11.13'
|
||||||
|
echo 'foo "v0.11.13'
|
||||||
|
echo 'foo "v0.11.14'
|
||||||
|
echo 'foo "v0.11.14'
|
||||||
|
echo 'foo "v0.11.2'
|
||||||
|
echo 'foo "v0.11.2'
|
||||||
|
echo 'foo "v0.11.3'
|
||||||
|
echo 'foo "v0.11.3'
|
||||||
|
echo 'foo "v0.11.4'
|
||||||
|
echo 'foo "v0.11.4'
|
||||||
|
echo 'foo "v0.11.5'
|
||||||
|
echo 'foo "v0.11.5'
|
||||||
|
echo 'foo "v0.11.6'
|
||||||
|
echo 'foo "v0.11.6'
|
||||||
|
echo 'foo "v0.11.7'
|
||||||
|
echo 'foo "v0.11.7'
|
||||||
|
echo 'foo "v0.11.8'
|
||||||
|
echo 'foo "v0.11.8'
|
||||||
|
echo 'foo "v0.11.9'
|
||||||
|
echo 'foo "v0.11.9'
|
||||||
|
echo 'foo "v0.5.1'
|
||||||
|
echo 'foo "v0.5.1'
|
||||||
|
echo 'foo "v0.5.10'
|
||||||
|
echo 'foo "v0.5.10'
|
||||||
|
echo 'foo "v0.5.2'
|
||||||
|
echo 'foo "v0.5.2'
|
||||||
|
echo 'foo "v0.5.3'
|
||||||
|
echo 'foo "v0.5.3'
|
||||||
|
echo 'foo "v0.5.4'
|
||||||
|
echo 'foo "v0.5.4'
|
||||||
|
echo 'foo "v0.5.5'
|
||||||
|
echo 'foo "v0.5.5'
|
||||||
|
echo 'foo "v0.5.6'
|
||||||
|
echo 'foo "v0.5.6'
|
||||||
|
echo 'foo "v0.5.7'
|
||||||
|
echo 'foo "v0.5.7'
|
||||||
|
echo 'foo "v0.5.8'
|
||||||
|
echo 'foo "v0.5.8'
|
||||||
|
echo 'foo "v0.5.9'
|
||||||
|
echo 'foo "v0.5.9'
|
||||||
|
echo 'foo "v0.6.0'
|
||||||
|
echo 'foo "v0.6.0'
|
||||||
|
echo 'foo "v0.6.1'
|
||||||
|
echo 'foo "v0.6.1'
|
||||||
|
echo 'foo "v0.6.10'
|
||||||
|
echo 'foo "v0.6.10'
|
||||||
|
echo 'foo "v0.6.11'
|
||||||
|
echo 'foo "v0.6.11'
|
||||||
|
echo 'foo "v0.6.12'
|
||||||
|
echo 'foo "v0.6.12'
|
||||||
|
echo 'foo "v0.6.13'
|
||||||
|
echo 'foo "v0.6.13'
|
||||||
|
echo 'foo "v0.6.14'
|
||||||
|
echo 'foo "v0.6.14'
|
||||||
|
echo 'foo "v0.6.15'
|
||||||
|
echo 'foo "v0.6.15'
|
||||||
|
echo 'foo "v0.6.16'
|
||||||
|
echo 'foo "v0.6.16'
|
||||||
|
echo 'foo "v0.6.17'
|
||||||
|
echo 'foo "v0.6.17'
|
||||||
|
echo 'foo "v0.6.18'
|
||||||
|
echo 'foo "v0.6.18'
|
||||||
|
echo 'foo "v0.6.19'
|
||||||
|
echo 'foo "v0.6.19'
|
||||||
|
echo 'foo "v0.6.2'
|
||||||
|
echo 'foo "v0.6.2'
|
||||||
|
echo 'foo "v0.6.20'
|
||||||
|
echo 'foo "v0.6.20'
|
||||||
|
echo 'foo "v0.6.21'
|
||||||
|
echo 'foo "v0.6.21'
|
||||||
|
echo 'foo "v0.6.3'
|
||||||
|
echo 'foo "v0.6.3'
|
||||||
|
echo 'foo "v0.6.4'
|
||||||
|
echo 'foo "v0.6.4'
|
||||||
|
echo 'foo "v0.6.5'
|
||||||
|
echo 'foo "v0.6.5'
|
||||||
|
echo 'foo "v0.6.6'
|
||||||
|
echo 'foo "v0.6.6'
|
||||||
|
echo 'foo "v0.6.7'
|
||||||
|
echo 'foo "v0.6.7'
|
||||||
|
echo 'foo "v0.6.8'
|
||||||
|
echo 'foo "v0.6.8'
|
||||||
|
echo 'foo "v0.6.9'
|
||||||
|
echo 'foo "v0.6.9'
|
||||||
|
echo 'foo "v0.7.0'
|
||||||
|
echo 'foo "v0.7.0'
|
||||||
|
echo 'foo "v0.7.1'
|
||||||
|
echo 'foo "v0.7.1'
|
||||||
|
echo 'foo "v0.7.10'
|
||||||
|
echo 'foo "v0.7.10'
|
||||||
|
echo 'foo "v0.7.11'
|
||||||
|
echo 'foo "v0.7.11'
|
||||||
|
echo 'foo "v0.7.12'
|
||||||
|
echo 'foo "v0.7.12'
|
||||||
|
echo 'foo "v0.7.2'
|
||||||
|
echo 'foo "v0.7.2'
|
||||||
|
echo 'foo "v0.7.3'
|
||||||
|
echo 'foo "v0.7.3'
|
||||||
|
echo 'foo "v0.7.4'
|
||||||
|
echo 'foo "v0.7.4'
|
||||||
|
echo 'foo "v0.7.5'
|
||||||
|
echo 'foo "v0.7.5'
|
||||||
|
echo 'foo "v0.7.6'
|
||||||
|
echo 'foo "v0.7.6'
|
||||||
|
echo 'foo "v0.7.7'
|
||||||
|
echo 'foo "v0.7.7'
|
||||||
|
echo 'foo "v0.7.8'
|
||||||
|
echo 'foo "v0.7.8'
|
||||||
|
echo 'foo "v0.7.9'
|
||||||
|
echo 'foo "v0.7.9'
|
||||||
|
echo 'foo "v0.8.0'
|
||||||
|
echo 'foo "v0.8.0'
|
||||||
|
echo 'foo "v0.8.1'
|
||||||
|
echo 'foo "v0.8.1'
|
||||||
|
echo 'foo "v0.8.10'
|
||||||
|
echo 'foo "v0.8.10'
|
||||||
|
echo 'foo "v0.8.11'
|
||||||
|
echo 'foo "v0.8.11'
|
||||||
|
echo 'foo "v0.8.12'
|
||||||
|
echo 'foo "v0.8.12'
|
||||||
|
echo 'foo "v0.8.13'
|
||||||
|
echo 'foo "v0.8.13'
|
||||||
|
echo 'foo "v0.8.14'
|
||||||
|
echo 'foo "v0.8.14'
|
||||||
|
echo 'foo "v0.8.15'
|
||||||
|
echo 'foo "v0.8.15'
|
||||||
|
echo 'foo "v0.8.16'
|
||||||
|
echo 'foo "v0.8.16'
|
||||||
|
echo 'foo "v0.8.17'
|
||||||
|
echo 'foo "v0.8.17'
|
||||||
|
echo 'foo "v0.8.18'
|
||||||
|
echo 'foo "v0.8.18'
|
||||||
|
echo 'foo "v0.8.19'
|
||||||
|
echo 'foo "v0.8.19'
|
||||||
|
echo 'foo "v0.8.2'
|
||||||
|
echo 'foo "v0.8.2'
|
||||||
|
echo 'foo "v0.8.20'
|
||||||
|
echo 'foo "v0.8.20'
|
||||||
|
echo 'foo "v0.8.21'
|
||||||
|
echo 'foo "v0.8.21'
|
||||||
|
echo 'foo "v0.8.22'
|
||||||
|
echo 'foo "v0.8.22'
|
||||||
|
echo 'foo "v0.8.23'
|
||||||
|
echo 'foo "v0.8.23'
|
||||||
|
echo 'foo "v0.8.24'
|
||||||
|
echo 'foo "v0.8.24'
|
||||||
|
echo 'foo "v0.8.25'
|
||||||
|
echo 'foo "v0.8.25'
|
||||||
|
echo 'foo "v0.8.26'
|
||||||
|
echo 'foo "v0.8.26'
|
||||||
|
echo 'foo "v0.8.27'
|
||||||
|
echo 'foo "v0.8.27'
|
||||||
|
echo 'foo "v0.8.28'
|
||||||
|
echo 'foo "v0.8.28'
|
||||||
|
echo 'foo "v0.8.3'
|
||||||
|
echo 'foo "v0.8.3'
|
||||||
|
echo 'foo "v0.8.4'
|
||||||
|
echo 'foo "v0.8.4'
|
||||||
|
echo 'foo "v0.8.5'
|
||||||
|
echo 'foo "v0.8.5'
|
||||||
|
echo 'foo "v0.8.6'
|
||||||
|
echo 'foo "v0.8.6'
|
||||||
|
echo 'foo "v0.8.7'
|
||||||
|
echo 'foo "v0.8.7'
|
||||||
|
echo 'foo "v0.8.8'
|
||||||
|
echo 'foo "v0.8.8'
|
||||||
|
echo 'foo "v0.8.9'
|
||||||
|
echo 'foo "v0.8.9'
|
||||||
|
echo 'foo "v0.9.0'
|
||||||
|
echo 'foo "v0.9.0'
|
||||||
|
echo 'foo "v0.9.1'
|
||||||
|
echo 'foo "v0.9.1'
|
||||||
|
echo 'foo "v0.9.10'
|
||||||
|
echo 'foo "v0.9.10'
|
||||||
|
echo 'foo "v0.9.11'
|
||||||
|
echo 'foo "v0.9.11'
|
||||||
|
echo 'foo "v0.9.12'
|
||||||
|
echo 'foo "v0.9.12'
|
||||||
|
echo 'foo "v0.9.2'
|
||||||
|
echo 'foo "v0.9.2'
|
||||||
|
echo 'foo "v0.9.3'
|
||||||
|
echo 'foo "v0.9.3'
|
||||||
|
echo 'foo "v0.9.4'
|
||||||
|
echo 'foo "v0.9.4'
|
||||||
|
echo 'foo "v0.9.5'
|
||||||
|
echo 'foo "v0.9.5'
|
||||||
|
echo 'foo "v0.9.6'
|
||||||
|
echo 'foo "v0.9.6'
|
||||||
|
echo 'foo "v0.9.7'
|
||||||
|
echo 'foo "v0.9.7'
|
||||||
|
echo 'foo "v0.9.8'
|
||||||
|
echo 'foo "v0.9.8'
|
||||||
|
echo 'foo "v0.9.9'
|
||||||
|
echo 'foo "v0.9.9'
|
||||||
|
echo 'foo "v0.1.100'
|
||||||
|
echo 'foo "v0.1.100'
|
||||||
|
echo 'foo "v0.1.101'
|
||||||
|
echo 'foo "v0.1.101'
|
||||||
|
echo 'foo "v0.1.102'
|
||||||
|
echo 'foo "v0.1.102'
|
||||||
|
echo 'foo "v0.1.103'
|
||||||
|
echo 'foo "v0.1.103'
|
||||||
|
echo 'foo "v0.1.104'
|
||||||
|
echo 'foo "v0.1.104'
|
||||||
|
echo 'foo "v0.1.14'
|
||||||
|
echo 'foo "v0.1.14'
|
||||||
|
echo 'foo "v0.1.15'
|
||||||
|
echo 'foo "v0.1.15'
|
||||||
|
echo 'foo "v0.1.16'
|
||||||
|
echo 'foo "v0.1.16'
|
||||||
|
echo 'foo "v0.1.17'
|
||||||
|
echo 'foo "v0.1.17'
|
||||||
|
echo 'foo "v0.1.18'
|
||||||
|
echo 'foo "v0.1.18'
|
||||||
|
echo 'foo "v0.1.19'
|
||||||
|
echo 'foo "v0.1.19'
|
||||||
|
echo 'foo "v0.1.20'
|
||||||
|
echo 'foo "v0.1.20'
|
||||||
|
echo 'foo "v0.1.21'
|
||||||
|
echo 'foo "v0.1.21'
|
||||||
|
echo 'foo "v0.1.22'
|
||||||
|
echo 'foo "v0.1.22'
|
||||||
|
echo 'foo "v0.1.23'
|
||||||
|
echo 'foo "v0.1.23'
|
||||||
|
echo 'foo "v0.1.24'
|
||||||
|
echo 'foo "v0.1.24'
|
||||||
|
echo 'foo "v0.1.25'
|
||||||
|
echo 'foo "v0.1.25'
|
||||||
|
echo 'foo "v0.1.26'
|
||||||
|
echo 'foo "v0.1.26'
|
||||||
|
echo 'foo "v0.1.27'
|
||||||
|
echo 'foo "v0.1.27'
|
||||||
|
echo 'foo "v0.1.28'
|
||||||
|
echo 'foo "v0.1.28'
|
||||||
|
echo 'foo "v0.1.29'
|
||||||
|
echo 'foo "v0.1.29'
|
||||||
|
echo 'foo "v0.1.30'
|
||||||
|
echo 'foo "v0.1.30'
|
||||||
|
echo 'foo "v0.1.31'
|
||||||
|
echo 'foo "v0.1.31'
|
||||||
|
echo 'foo "v0.1.32'
|
||||||
|
echo 'foo "v0.1.32'
|
||||||
|
echo 'foo "v0.1.33'
|
||||||
|
echo 'foo "v0.1.33'
|
||||||
|
echo 'foo "v0.1.90'
|
||||||
|
echo 'foo "v0.1.90'
|
||||||
|
echo 'foo "v0.1.91'
|
||||||
|
echo 'foo "v0.1.91'
|
||||||
|
echo 'foo "v0.1.92'
|
||||||
|
echo 'foo "v0.1.92'
|
||||||
|
echo 'foo "v0.1.93'
|
||||||
|
echo 'foo "v0.1.93'
|
||||||
|
echo 'foo "v0.1.94'
|
||||||
|
echo 'foo "v0.1.94'
|
||||||
|
echo 'foo "v0.1.95'
|
||||||
|
echo 'foo "v0.1.95'
|
||||||
|
echo 'foo "v0.1.96'
|
||||||
|
echo 'foo "v0.1.96'
|
||||||
|
echo 'foo "v0.1.97'
|
||||||
|
echo 'foo "v0.1.97'
|
||||||
|
echo 'foo "v0.1.98'
|
||||||
|
echo 'foo "v0.1.98'
|
||||||
|
echo 'foo "v0.1.99'
|
||||||
|
echo 'foo "v0.1.99'
|
||||||
|
echo 'foo "v0.10.14'
|
||||||
|
echo 'foo "v0.10.14'
|
||||||
|
echo 'foo "v0.2.0'
|
||||||
|
echo 'foo "v0.2.0'
|
||||||
|
echo 'foo "v0.2.1'
|
||||||
|
echo 'foo "v0.2.1'
|
||||||
|
echo 'foo "v0.2.2'
|
||||||
|
echo 'foo "v0.2.2'
|
||||||
|
echo 'foo "v0.2.3'
|
||||||
|
echo 'foo "v0.2.3'
|
||||||
|
echo 'foo "v0.2.4'
|
||||||
|
echo 'foo "v0.2.4'
|
||||||
|
echo 'foo "v0.2.5'
|
||||||
|
echo 'foo "v0.2.5'
|
||||||
|
echo 'foo "v0.2.6'
|
||||||
|
echo 'foo "v0.2.6'
|
||||||
|
echo 'foo "v0.3.0'
|
||||||
|
echo 'foo "v0.3.0'
|
||||||
|
echo 'foo "v0.3.1'
|
||||||
|
echo 'foo "v0.3.1'
|
||||||
|
echo 'foo "v0.3.2'
|
||||||
|
echo 'foo "v0.3.2'
|
||||||
|
echo 'foo "v0.3.3'
|
||||||
|
echo 'foo "v0.3.3'
|
||||||
|
echo 'foo "v0.3.4'
|
||||||
|
echo 'foo "v0.3.4'
|
||||||
|
echo 'foo "v0.3.5'
|
||||||
|
echo 'foo "v0.3.5'
|
||||||
|
echo 'foo "v0.3.6'
|
||||||
|
echo 'foo "v0.3.6'
|
||||||
|
echo 'foo "v0.3.7'
|
||||||
|
echo 'foo "v0.3.7'
|
||||||
|
echo 'foo "v0.3.8'
|
||||||
|
echo 'foo "v0.3.8'
|
||||||
|
echo 'foo "v0.4.0'
|
||||||
|
echo 'foo "v0.4.0'
|
||||||
|
echo 'foo "v0.4.1'
|
||||||
|
echo 'foo "v0.4.1'
|
||||||
|
echo 'foo "v0.4.10'
|
||||||
|
echo 'foo "v0.4.10'
|
||||||
|
echo 'foo "v0.4.11'
|
||||||
|
echo 'foo "v0.4.11'
|
||||||
|
echo 'foo "v0.4.12'
|
||||||
|
echo 'foo "v0.4.12'
|
||||||
|
echo 'foo "v0.4.2'
|
||||||
|
echo 'foo "v0.4.2'
|
||||||
|
echo 'foo "v0.4.3'
|
||||||
|
echo 'foo "v0.4.3'
|
||||||
|
echo 'foo "v0.4.4'
|
||||||
|
echo 'foo "v0.4.4'
|
||||||
|
echo 'foo "v0.4.5'
|
||||||
|
echo 'foo "v0.4.5'
|
||||||
|
echo 'foo "v0.4.6'
|
||||||
|
echo 'foo "v0.4.6'
|
||||||
|
echo 'foo "v0.4.7'
|
||||||
|
echo 'foo "v0.4.7'
|
||||||
|
echo 'foo "v0.4.8'
|
||||||
|
echo 'foo "v0.4.8'
|
||||||
|
echo 'foo "v0.4.9'
|
||||||
|
echo 'foo "v0.4.9'
|
||||||
|
echo 'foo "v0.5.0'
|
||||||
|
echo 'foo "v0.5.0'
|
||||||
|
echo 'foo "v0.6.1'
|
||||||
|
echo 'foo "v0.6.1'
|
||||||
|
echo 'foo "v0.6.10'
|
||||||
|
echo 'foo "v0.6.10'
|
||||||
|
echo 'foo "v0.6.11'
|
||||||
|
echo 'foo "v0.6.11'
|
||||||
|
echo 'foo "v0.6.12'
|
||||||
|
echo 'foo "v0.6.12'
|
||||||
|
echo 'foo "v0.6.13'
|
||||||
|
echo 'foo "v0.6.13'
|
||||||
|
echo 'foo "v0.6.2'
|
||||||
|
echo 'foo "v0.6.2'
|
||||||
|
echo 'foo "v0.6.3'
|
||||||
|
echo 'foo "v0.6.3'
|
||||||
|
echo 'foo "v0.6.4'
|
||||||
|
echo 'foo "v0.6.4'
|
||||||
|
echo 'foo "v0.6.5'
|
||||||
|
echo 'foo "v0.6.5'
|
||||||
|
echo 'foo "v0.6.6'
|
||||||
|
echo 'foo "v0.6.6'
|
||||||
|
echo 'foo "v0.6.7'
|
||||||
|
echo 'foo "v0.6.7'
|
||||||
|
echo 'foo "v0.6.8'
|
||||||
|
echo 'foo "v0.6.8'
|
||||||
|
echo 'foo "v0.6.9'
|
||||||
|
echo 'foo "v0.6.9'
|
||||||
|
}
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_ls_remote foo)"
|
||||||
|
EXIT_CODE="$(nvm_ls_remote foo >/dev/null 2>&1 ; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A"
|
||||||
|
[ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE"
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_ls_remote)"
|
||||||
|
EXPECTED_OUTPUT="$(nvm_download | \egrep -o 'v[0-9]+\.[0-9]+\.[0-9]+' | sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n)"
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "bare nvm_ls_remote did not output expected sorted versions; got $(echo "$OUTPUT") expected $(echo "$EXPECTED_OUTPUT")"
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_ls_remote 0.3)"
|
||||||
|
EXPECTED_OUTPUT="v0.3.0
|
||||||
|
v0.3.1
|
||||||
|
v0.3.2
|
||||||
|
v0.3.3
|
||||||
|
v0.3.4
|
||||||
|
v0.3.5
|
||||||
|
v0.3.6
|
||||||
|
v0.3.7
|
||||||
|
v0.3.8"
|
||||||
|
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_ls_remote 0.3 did not output 0.3.x versions; got $OUTPUT"
|
||||||
|
|
||||||
|
cleanup
|
||||||
|
|
||||||
21
test/fast/Unit tests/nvm_num_version_groups
Executable file
21
test/fast/Unit tests/nvm_num_version_groups
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
[ "~$(nvm_num_version_groups)" = "~0" ] || die "no args should give 0"
|
||||||
|
[ "~$(nvm_num_version_groups a)" = "~1" ] || die "one letter should give 1"
|
||||||
|
|
||||||
|
[ "~$(nvm_num_version_groups 1)" = "~1" ] || die "1 should give 1"
|
||||||
|
[ "~$(nvm_num_version_groups v1)" = "~1" ] || die "v1 should give 1"
|
||||||
|
[ "~$(nvm_num_version_groups v1.)" = "~1" ] || die "v1. should give 1"
|
||||||
|
|
||||||
|
[ "~$(nvm_num_version_groups 1.2)" = "~2" ] || die "1.2 should give 2"
|
||||||
|
[ "~$(nvm_num_version_groups v1.2)" = "~2" ] || die "v1.2 should give 2"
|
||||||
|
[ "~$(nvm_num_version_groups v1.2.)" = "~2" ] || die "v1.2. should give 2"
|
||||||
|
|
||||||
|
[ "~$(nvm_num_version_groups 1.2.3)" = "~3" ] || die "1.2.3 should give 3"
|
||||||
|
[ "~$(nvm_num_version_groups v1.2.3)" = "~3" ] || die "v1.2.3 should give 3"
|
||||||
|
[ "~$(nvm_num_version_groups v1.2.3.)" = "~3" ] || die "v1.2.3. should give 3"
|
||||||
|
|
||||||
35
test/fast/Unit tests/nvm_remote_version
Executable file
35
test/fast/Unit tests/nvm_remote_version
Executable file
@@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; cleanup ; exit 1; }
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
unset -f nvm_ls_remote
|
||||||
|
}
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
nvm_ls_remote() {
|
||||||
|
echo "N/A"
|
||||||
|
}
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_remote_version foo)"
|
||||||
|
EXIT_CODE="$(nvm_remote_version foo >/dev/null 2>&1 ; echo $?)"
|
||||||
|
|
||||||
|
[ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A"
|
||||||
|
[ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE"
|
||||||
|
|
||||||
|
nvm_ls_remote() {
|
||||||
|
echo "test output"
|
||||||
|
echo "more test output"
|
||||||
|
echo "pattern received: _$1_"
|
||||||
|
}
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_remote_version foo)"
|
||||||
|
EXIT_CODE="$(nvm_remote_version foo >/dev/null 2>&1 ; echo $?)"
|
||||||
|
|
||||||
|
[ "_$OUTPUT" = "_pattern received: _foo_" ] \
|
||||||
|
|| die "nvm_remote_version foo did not return last line only of nvm_ls_remote foo; got $OUTPUT"
|
||||||
|
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_version foo did not exit with 0, got $EXIT_CODE"
|
||||||
|
|
||||||
|
cleanup
|
||||||
|
|
||||||
@@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
. ../../../nvm.sh
|
. ../../nvm.sh
|
||||||
|
|
||||||
[ "$(nvm install invalid.invalid 2>&1)" = "Version 'invalid.invalid' not found - try \`nvm ls-remote\` to browse available versions." ] || die "nvm installing an invalid version did not print a nice error message"
|
[ "$(nvm install invalid.invalid 2>&1)" = "Version 'invalid.invalid' not found - try \`nvm ls-remote\` to browse available versions." ] || die "nvm installing an invalid version did not print a nice error message"
|
||||||
|
|
||||||
# Remove the stuff we're clobbering.
|
# Remove the stuff we're clobbering.
|
||||||
[ -e ../../../v0.9.7 ] && rm -R ../../../v0.9.7
|
[ -e ../../v0.9.7 ] && rm -R ../../v0.9.7
|
||||||
[ -e ../../../v0.9.12 ] && rm -R ../../../v0.9.12
|
[ -e ../../v0.9.12 ] && rm -R ../../v0.9.12
|
||||||
|
|
||||||
# Install from binary
|
# Install from binary
|
||||||
nvm install 0.9.7
|
nvm install 0.9.7
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
. ../../../nvm.sh
|
. ../../nvm.sh
|
||||||
|
|
||||||
NVM_TEST_VERSION=v0.10.7
|
NVM_TEST_VERSION=v0.10.7
|
||||||
|
|
||||||
# Remove the stuff we're clobbering.
|
# Remove the stuff we're clobbering.
|
||||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||||
|
|
||||||
# Install from binary
|
# Install from binary
|
||||||
nvm install $NVM_TEST_VERSION
|
nvm install $NVM_TEST_VERSION
|
||||||
|
|
||||||
# Check
|
# Check
|
||||||
[ -d ../../../$NVM_TEST_VERSION ]
|
[ -d ../../$NVM_TEST_VERSION ]
|
||||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
||||||
|
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
. ../../../nvm.sh
|
. ../../nvm.sh
|
||||||
|
|
||||||
NVM_TEST_VERSION=v0.10.7
|
NVM_TEST_VERSION=v0.10.7
|
||||||
|
|
||||||
# Remove the stuff we're clobbering.
|
# Remove the stuff we're clobbering.
|
||||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||||
|
|
||||||
# Install from source
|
# Install from source
|
||||||
nvm install -s $NVM_TEST_VERSION
|
nvm install -s $NVM_TEST_VERSION
|
||||||
|
|
||||||
# Check
|
# Check
|
||||||
[ -d ../../../$NVM_TEST_VERSION ]
|
[ -d ../../$NVM_TEST_VERSION ]
|
||||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
||||||
|
|
||||||
@@ -1,19 +1,19 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
. ../../../nvm.sh
|
. ../../nvm.sh
|
||||||
|
|
||||||
# Remove the stuff we're clobbering.
|
# Remove the stuff we're clobbering.
|
||||||
[ -e ../../../v0.9.7 ] && rm -R ../../../v0.9.7
|
[ -e ../../v0.9.7 ] && rm -R ../../v0.9.7
|
||||||
[ -e ../../../v0.9.12 ] && rm -R ../../../v0.9.12
|
[ -e ../../v0.9.12 ] && rm -R ../../v0.9.12
|
||||||
|
|
||||||
# Install from binary
|
# Install from binary
|
||||||
nvm install 0.9.7
|
nvm install 0.9.7
|
||||||
nvm i 0.9.12
|
nvm i 0.9.12
|
||||||
|
|
||||||
# Check
|
# Check
|
||||||
[ -d ../../../v0.9.7 ]
|
[ -d ../../v0.9.7 ]
|
||||||
[ -d ../../../v0.9.12 ]
|
[ -d ../../v0.9.12 ]
|
||||||
|
|
||||||
# Use the first one
|
# Use the first one
|
||||||
nvm use 0.9.7
|
nvm use 0.9.7
|
||||||
@@ -1,20 +1,20 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
. ../../../nvm.sh
|
. ../../nvm.sh
|
||||||
|
|
||||||
NVM_TEST_VERSION=v0.10.7
|
NVM_TEST_VERSION=v0.10.7
|
||||||
|
|
||||||
# Remove the stuff we're clobbering.
|
# Remove the stuff we're clobbering.
|
||||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||||
|
|
||||||
# Install from binary
|
# Install from binary
|
||||||
cat "$NVM_TEST_VERSION" > .nvmrc
|
echo "$NVM_TEST_VERSION" > .nvmrc
|
||||||
|
|
||||||
nvm install
|
nvm install
|
||||||
|
|
||||||
# Check
|
# Check
|
||||||
[ -d ../../../$NVM_TEST_VERSION ]
|
[ -d ../../$NVM_TEST_VERSION ]
|
||||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
||||||
|
|
||||||
|
|
||||||
@@ -1,20 +1,20 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
. ../../../nvm.sh
|
. ../../nvm.sh
|
||||||
|
|
||||||
NVM_TEST_VERSION=v0.10.7
|
NVM_TEST_VERSION=v0.10.7
|
||||||
|
|
||||||
# Remove the stuff we're clobbering.
|
# Remove the stuff we're clobbering.
|
||||||
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||||
|
|
||||||
# Install from binary
|
# Install from binary
|
||||||
cat "$NVM_TEST_VERSION" > .nvmrc
|
echo "$NVM_TEST_VERSION" > .nvmrc
|
||||||
|
|
||||||
nvm install -s
|
nvm install -s
|
||||||
|
|
||||||
# Check
|
# Check
|
||||||
[ -d ../../../$NVM_TEST_VERSION ]
|
[ -d ../../$NVM_TEST_VERSION ]
|
||||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION
|
||||||
|
|
||||||
|
|
||||||
34
test/installation/install while copying packages
Executable file
34
test/installation/install while copying packages
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../nvm.sh
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e ../../v0.9.7 ] && rm -R ../../v0.9.7
|
||||||
|
[ -e ../../v0.9.12 ] && rm -R ../../v0.9.12
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
nvm install 0.9.7
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d ../../v0.9.7 ] || die "nvm install 0.9.7 didn't install"
|
||||||
|
|
||||||
|
nvm use 0.9.7
|
||||||
|
|
||||||
|
node --version | grep v0.9.7 > /dev/null || die "nvm use 0.9.7 failed"
|
||||||
|
|
||||||
|
npm install -g is-nan@1.0.1 || die "npm install -g is-nan failed"
|
||||||
|
npm list --global | grep is-nan > /dev/null || die "is-nan isn't installed"
|
||||||
|
|
||||||
|
nvm ls 0.9 | grep v0.9.7 > /dev/null || die "nvm ls 0.9 didn't show v0.9.7"
|
||||||
|
|
||||||
|
nvm install 0.9.12 --copy-packages-from=0.9 || die "nvm install 0.9.12 --copy-packages-from=0.9 failed"
|
||||||
|
|
||||||
|
[ -d ../../v0.9.12 ] || die "nvm install 0.9.12 didn't install"
|
||||||
|
|
||||||
|
nvm use 0.9
|
||||||
|
node --version | grep v0.9.12 > /dev/null || die "nvm ls 0.9 didn't use v0.9.12"
|
||||||
|
|
||||||
|
npm list --global | grep is-nan > /dev/null || die "is-nan isn't installed"
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../../nvm.sh
|
. ../../nvm.sh
|
||||||
nvm uninstall v0.10.7
|
nvm uninstall v0.10.7
|
||||||
|
|
||||||
if [ -f ".nvmrc" ]; then
|
if [ -f ".nvmrc" ]; then
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
nvm use 0.10.28 > /dev/null
|
||||||
|
|
||||||
|
EXPECTED_MSG="Can not copy packages from the current version of node."
|
||||||
|
ACTUAL_MSG="$(nvm copy-packages 0.10.28 2>&1 > /dev/null)"
|
||||||
|
[ "~$ACTUAL_MSG" = "~$EXPECTED_MSG" ] || die "'nvm use 0.10.28 && nvm copy-packages 0.10.28' did not fail with the right message: '$ACTUAL_MESSAGE'"
|
||||||
|
|
||||||
|
EXPECTED_ERROR_CODE="2"
|
||||||
|
ACTUAL_ERROR_CODE="$(nvm copy-packages 0.10.28 > /dev/null 2>&1 ; echo $?)"
|
||||||
|
[ "~$ACTUAL_ERROR_CODE" = "~$EXPECTED_ERROR_CODE" ] || die "'nvm use 0.10.28 && nvm copy-packages 0.10.28' did not fail with the right error code: expected '$EXPECTED_ERROR_CODE', got '$ACTUAL_ERROR_CODE'"
|
||||||
|
|
||||||
Reference in New Issue
Block a user