mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-09-13 18:19:08 +00:00
Compare commits
52 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1eaf6b53e4 | ||
![]() |
24c60e4e51 | ||
![]() |
8822bd719a | ||
![]() |
d90c1eca39 | ||
![]() |
223f388693 | ||
![]() |
cba5094652 | ||
![]() |
b5d9e547f2 | ||
![]() |
15598899b6 | ||
![]() |
c8f712a334 | ||
![]() |
2d9494af45 | ||
![]() |
2755227d40 | ||
![]() |
dd146519a2 | ||
![]() |
7243bd77d3 | ||
![]() |
7d113a2b2f | ||
![]() |
17df0b9912 | ||
![]() |
6cac732141 | ||
![]() |
9ee864b06f | ||
![]() |
0471d0ffd6 | ||
![]() |
43a7d78693 | ||
![]() |
879dda6c3d | ||
![]() |
ea12784629 | ||
![]() |
f1f11e3b7a | ||
![]() |
247bd310ef | ||
![]() |
dbeeb683da | ||
![]() |
39a75e616d | ||
![]() |
3cf68dc18d | ||
![]() |
654c37bc29 | ||
![]() |
c6a9f7baae | ||
![]() |
bb2564d6db | ||
![]() |
896a7eddd3 | ||
![]() |
8ae7b33632 | ||
![]() |
eb8c3414dd | ||
![]() |
9615672243 | ||
![]() |
78c1f2cf9d | ||
![]() |
ed22d3de2d | ||
![]() |
952096d034 | ||
![]() |
dd3a3763ce | ||
![]() |
41c379839d | ||
![]() |
d9340b6a53 | ||
![]() |
b0d6c05d6e | ||
![]() |
58ab2c3128 | ||
![]() |
d70f0357f5 | ||
![]() |
5143de9653 | ||
![]() |
5c336a7ccb | ||
![]() |
f661617f1c | ||
![]() |
d28703f9e0 | ||
![]() |
b7983842aa | ||
![]() |
c12104cecd | ||
![]() |
98e0655198 | ||
![]() |
c46748a379 | ||
![]() |
8be97c8abb | ||
![]() |
3fa11c35cb |
@@ -1,7 +1,7 @@
|
|||||||
language: c # defaults to ruby
|
language: c # defaults to ruby
|
||||||
install:
|
install:
|
||||||
- sudo apt-get install zsh -y # ksh
|
- sudo apt-get install zsh -y # ksh
|
||||||
- (mkdir /tmp/urchin && cd /tmp/urchin && curl -s "$(curl -s http://registry.npmjs.org/urchin | grep -Eo '"tarball":\s*"[^"]+"' | tail -n 1 | awk -F\" '{ print $4 }')" -O && tar -x -f urchin*)
|
- (mkdir /tmp/urchin && cd /tmp/urchin && curl -s "$(curl -s https://registry.npmjs.com/urchin | grep -Eo '"tarball":\s*"[^"]+"' | tail -n 1 | awk -F\" '{ print $4 }')" -O && tar -x -f urchin*)
|
||||||
- chmod +x /tmp/urchin/package/urchin
|
- chmod +x /tmp/urchin/package/urchin
|
||||||
- '[ -z "$WITHOUT_CURL" ] || sudo apt-get remove curl -y'
|
- '[ -z "$WITHOUT_CURL" ] || sudo apt-get remove curl -y'
|
||||||
script:
|
script:
|
||||||
|
@@ -5,18 +5,18 @@
|
|||||||
First you'll need to make sure your system has a c++ compiler. For OSX, XCode will work, for Ubuntu, the build-essential and libssl-dev packages work.
|
First you'll need to make sure your system has a c++ compiler. For OSX, XCode will work, for Ubuntu, the build-essential and libssl-dev packages work.
|
||||||
|
|
||||||
Note: `nvm` does not support Windows (see [#284](https://github.com/creationix/nvm/issues/284)). Two alternatives exist, which are not supported nor developed by us:
|
Note: `nvm` does not support Windows (see [#284](https://github.com/creationix/nvm/issues/284)). Two alternatives exist, which are not supported nor developed by us:
|
||||||
- [nvmw](http://github.com/hakobera/nvmw)
|
- [nvmw](https://github.com/hakobera/nvmw)
|
||||||
- [nvm-windows](http://github.com/coreybutler/nvm-windows)
|
- [nvm-windows](https://github.com/coreybutler/nvm-windows)
|
||||||
|
|
||||||
### Install script
|
### Install script
|
||||||
|
|
||||||
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.22.2/install.sh | bash
|
curl https://raw.githubusercontent.com/creationix/nvm/v0.23.2/install.sh | bash
|
||||||
|
|
||||||
or Wget:
|
or Wget:
|
||||||
|
|
||||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.22.2/install.sh | bash
|
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.23.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>
|
||||||
|
|
||||||
@@ -72,6 +72,10 @@ In place of a version pointer like "0.10", you can use the special default alias
|
|||||||
nvm use stable
|
nvm use stable
|
||||||
nvm run unstable --version
|
nvm run unstable --version
|
||||||
|
|
||||||
|
If you want to install `io.js`:
|
||||||
|
|
||||||
|
nvm install iojs
|
||||||
|
|
||||||
If you want to use the system-installed version of node, you can use the special default alias "system":
|
If you want to use the system-installed version of node, you can use the special default alias "system":
|
||||||
|
|
||||||
nvm use system
|
nvm use system
|
||||||
@@ -95,10 +99,17 @@ To set a default Node version to be used in any new shell, use the alias 'defaul
|
|||||||
|
|
||||||
To use a mirror of the node binaries, set `$NVM_NODEJS_ORG_MIRROR`:
|
To use a mirror of the node binaries, set `$NVM_NODEJS_ORG_MIRROR`:
|
||||||
|
|
||||||
export NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist
|
export NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist
|
||||||
nvm install 0.10
|
nvm install 0.10
|
||||||
|
|
||||||
NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist nvm install 0.10
|
NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist nvm install 0.10
|
||||||
|
|
||||||
|
To use a mirror of the iojs binaries, set `$NVM_IOJS_ORG_MIRROR`:
|
||||||
|
|
||||||
|
export NVM_IOJS_ORG_MIRROR=https://iojs.org/dist
|
||||||
|
nvm install iojs-v1.0.3
|
||||||
|
|
||||||
|
NVM_IOJS_ORG_MIRROR=https://iojs.org/dist nvm install iojs-v1.0.3
|
||||||
|
|
||||||
`nvm use` will not, by default, create a "current" symlink. Set `$NVM_SYMLINK_CURRENT` to "true" to enable this behavior, which is sometimes useful for IDEs.
|
`nvm use` will not, by default, create a "current" symlink. Set `$NVM_SYMLINK_CURRENT` to "true" to enable this behavior, which is sometimes useful for IDEs.
|
||||||
|
|
||||||
@@ -191,7 +202,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.22.2/install.sh
|
[2]: https://github.com/creationix/nvm/blob/v0.23.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
|
||||||
|
|
||||||
|
@@ -11,7 +11,7 @@ if [ -z "$NVM_DIR" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
nvm_latest_version() {
|
nvm_latest_version() {
|
||||||
echo "v0.22.2"
|
echo "v0.23.2"
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -57,7 +57,7 @@ nvm_download() {
|
|||||||
|
|
||||||
install_nvm_from_git() {
|
install_nvm_from_git() {
|
||||||
if [ -d "$NVM_DIR/.git" ]; then
|
if [ -d "$NVM_DIR/.git" ]; then
|
||||||
echo "=> nvm is already installed in $NVM_DIR, trying to update"
|
echo "=> nvm is already installed in $NVM_DIR, trying to update using git"
|
||||||
printf "\r=> "
|
printf "\r=> "
|
||||||
cd "$NVM_DIR" && (command git fetch 2> /dev/null || {
|
cd "$NVM_DIR" && (command git fetch 2> /dev/null || {
|
||||||
echo >&2 "Failed to update nvm, run 'git fetch' in $NVM_DIR yourself." && exit 1
|
echo >&2 "Failed to update nvm, run 'git fetch' in $NVM_DIR yourself." && exit 1
|
||||||
@@ -82,7 +82,7 @@ install_nvm_as_script() {
|
|||||||
# Downloading to $NVM_DIR
|
# Downloading to $NVM_DIR
|
||||||
mkdir -p "$NVM_DIR"
|
mkdir -p "$NVM_DIR"
|
||||||
if [ -d "$NVM_DIR/nvm.sh" ]; then
|
if [ -d "$NVM_DIR/nvm.sh" ]; then
|
||||||
echo "=> nvm is already installed in $NVM_DIR, trying to update"
|
echo "=> nvm is already installed in $NVM_DIR, trying to update the script"
|
||||||
else
|
else
|
||||||
echo "=> Downloading nvm as script to '$NVM_DIR'"
|
echo "=> Downloading nvm as script to '$NVM_DIR'"
|
||||||
fi
|
fi
|
||||||
|
477
nvm.sh
477
nvm.sh
@@ -49,6 +49,10 @@ nvm_has_system_node() {
|
|||||||
[ "$(nvm deactivate >/dev/null 2>&1 && command -v node)" != '' ]
|
[ "$(nvm deactivate >/dev/null 2>&1 && command -v node)" != '' ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_has_system_iojs() {
|
||||||
|
[ "$(nvm deactivate >/dev/null 2>&1 && command -v iojs)" != '' ]
|
||||||
|
}
|
||||||
|
|
||||||
# Make zsh glob matching behave same as bash
|
# Make zsh glob matching behave same as bash
|
||||||
# This fixes the "zsh: no matches found" errors
|
# This fixes the "zsh: no matches found" errors
|
||||||
if nvm_has "unsetopt"; then
|
if nvm_has "unsetopt"; then
|
||||||
@@ -71,6 +75,13 @@ if [ -z "$NVM_NODEJS_ORG_MIRROR" ]; then
|
|||||||
export NVM_NODEJS_ORG_MIRROR="https://nodejs.org/dist"
|
export NVM_NODEJS_ORG_MIRROR="https://nodejs.org/dist"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z "$NVM_IOJS_ORG_MIRROR" ]; then
|
||||||
|
export NVM_IOJS_ORG_MIRROR="https://iojs.org/dist"
|
||||||
|
fi
|
||||||
|
if [ -z "$NVM_IOJS_ORG_VERSION_LISTING" ]; then
|
||||||
|
export NVM_IOJS_ORG_VERSION_LISTING="$NVM_IOJS_ORG_MIRROR/index.tab"
|
||||||
|
fi
|
||||||
|
|
||||||
nvm_tree_contains_path() {
|
nvm_tree_contains_path() {
|
||||||
local tree
|
local tree
|
||||||
tree="$1"
|
tree="$1"
|
||||||
@@ -144,6 +155,8 @@ nvm_version_dir() {
|
|||||||
NVM_WHICH_DIR="$1"
|
NVM_WHICH_DIR="$1"
|
||||||
if [ -z "$NVM_WHICH_DIR" ] || [ "_$NVM_WHICH_DIR" = "_new" ]; then
|
if [ -z "$NVM_WHICH_DIR" ] || [ "_$NVM_WHICH_DIR" = "_new" ]; then
|
||||||
echo "$NVM_DIR/versions/node"
|
echo "$NVM_DIR/versions/node"
|
||||||
|
elif [ "_$NVM_WHICH_DIR" = "_iojs" ]; then
|
||||||
|
echo "$NVM_DIR/versions/io.js"
|
||||||
elif [ "_$NVM_WHICH_DIR" = "_old" ]; then
|
elif [ "_$NVM_WHICH_DIR" = "_old" ]; then
|
||||||
echo "$NVM_DIR"
|
echo "$NVM_DIR"
|
||||||
else
|
else
|
||||||
@@ -162,6 +175,8 @@ nvm_version_path() {
|
|||||||
if [ -z "$VERSION" ]; then
|
if [ -z "$VERSION" ]; then
|
||||||
echo "version is required" >&2
|
echo "version is required" >&2
|
||||||
return 3
|
return 3
|
||||||
|
elif nvm_is_iojs_version "$VERSION"; then
|
||||||
|
echo "$(nvm_version_dir iojs)/$(nvm_strip_iojs_prefix "$VERSION")"
|
||||||
elif nvm_version_greater 0.12.0 "$VERSION"; then
|
elif nvm_version_greater 0.12.0 "$VERSION"; then
|
||||||
echo "$(nvm_version_dir old)/$VERSION"
|
echo "$(nvm_version_dir old)/$VERSION"
|
||||||
else
|
else
|
||||||
@@ -184,11 +199,17 @@ nvm_version() {
|
|||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case "_$PATTERN" in
|
||||||
|
"_$(nvm_node_prefix)" | "_$(nvm_node_prefix)-")
|
||||||
|
PATTERN="stable"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
VERSION="$(nvm_ls "$PATTERN" | tail -n1)"
|
VERSION="$(nvm_ls "$PATTERN" | tail -n1)"
|
||||||
echo "$VERSION"
|
if [ -z "$VERSION" ] || [ "_$VERSION" = "_N/A" ]; then
|
||||||
|
echo "N/A"
|
||||||
if [ "$VERSION" = 'N/A' ]; then
|
return 3;
|
||||||
return 3
|
else
|
||||||
|
echo "$VERSION"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,20 +217,64 @@ nvm_remote_version() {
|
|||||||
local PATTERN
|
local PATTERN
|
||||||
PATTERN="$1"
|
PATTERN="$1"
|
||||||
local VERSION
|
local VERSION
|
||||||
VERSION="$(nvm_ls_remote "$PATTERN" | tail -n1)"
|
if nvm_validate_implicit_alias "$PATTERN" 2> /dev/null ; then
|
||||||
|
VERSION="$(nvm_ls_remote "$PATTERN")"
|
||||||
|
else
|
||||||
|
case "_$PATTERN" in
|
||||||
|
"_$(nvm_node_prefix)")
|
||||||
|
VERSION="$(nvm_ls_remote stable)"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
VERSION="$(nvm_remote_versions "$PATTERN" | tail -n1)"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
echo "$VERSION"
|
echo "$VERSION"
|
||||||
|
|
||||||
if [ "_$VERSION" = '_N/A' ]; then
|
if [ "_$VERSION" = '_N/A' ]; then
|
||||||
return 3
|
return 3
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_remote_versions() {
|
||||||
|
local PATTERN
|
||||||
|
PATTERN="$1"
|
||||||
|
if nvm_validate_implicit_alias "$PATTERN" 2> /dev/null ; then
|
||||||
|
echo >&2 "Implicit aliases are not supported in nvm_remote_versions."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
case "_$PATTERN" in
|
||||||
|
"_$(nvm_iojs_prefix)" | "_io.js")
|
||||||
|
VERSIONS="$(nvm_ls_remote_iojs)"
|
||||||
|
;;
|
||||||
|
"_$(nvm_node_prefix)")
|
||||||
|
VERSIONS="$(nvm_ls_remote)"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
VERSIONS="$(echo "$(nvm_ls_remote "$PATTERN")
|
||||||
|
$(nvm_ls_remote_iojs "$PATTERN")" | command grep -v "N/A" | command sed '/^$/d')"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -z "$VERSIONS" ]; then
|
||||||
|
echo "N/A"
|
||||||
|
return 3
|
||||||
|
else
|
||||||
|
echo "$VERSIONS"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
nvm_normalize_version() {
|
nvm_normalize_version() {
|
||||||
echo "$1" | command sed -e 's/^v//' | command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
|
echo "$1" | command sed -e 's/^v//' | command awk -F. '{ printf("%d%06d%06d\n", $1,$2,$3); }'
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_ensure_version_prefix() {
|
nvm_ensure_version_prefix() {
|
||||||
echo "$1" | command sed -e 's/^\([0-9]\)/v\1/g'
|
local NVM_VERSION
|
||||||
|
NVM_VERSION="$(nvm_strip_iojs_prefix "$1" | command sed -e 's/^\([0-9]\)/v\1/g')"
|
||||||
|
if nvm_is_iojs_version "$1"; then
|
||||||
|
echo "$(nvm_add_iojs_prefix "$NVM_VERSION")"
|
||||||
|
else
|
||||||
|
echo "$NVM_VERSION"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_format_version() {
|
nvm_format_version() {
|
||||||
@@ -238,7 +303,13 @@ nvm_num_version_groups() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nvm_strip_path() {
|
nvm_strip_path() {
|
||||||
echo "$1" | command sed -e "s#$NVM_DIR/[^/]*$2[^:]*:##g" -e "s#:$NVM_DIR/[^/]*$2[^:]*##g" -e "s#$NVM_DIR/[^/]*$2[^:]*##g"
|
echo "$1" | command sed \
|
||||||
|
-e "s#$NVM_DIR/[^/]*$2[^:]*:##g" \
|
||||||
|
-e "s#:$NVM_DIR/[^/]*$2[^:]*##g" \
|
||||||
|
-e "s#$NVM_DIR/[^/]*$2[^:]*##g" \
|
||||||
|
-e "s#$NVM_DIR/versions/[^/]*/[^/]*$2[^:]*:##g" \
|
||||||
|
-e "s#:$NVM_DIR/versions/[^/]*/[^/]*$2[^:]*##g" \
|
||||||
|
-e "s#$NVM_DIR/versions/[^/]*/[^/]*$2[^:]*##g"
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_prepend_path() {
|
nvm_prepend_path() {
|
||||||
@@ -253,7 +324,7 @@ nvm_binary_available() {
|
|||||||
# binaries started with node 0.8.6
|
# binaries started with node 0.8.6
|
||||||
local FIRST_VERSION_WITH_BINARY
|
local FIRST_VERSION_WITH_BINARY
|
||||||
FIRST_VERSION_WITH_BINARY="0.8.6"
|
FIRST_VERSION_WITH_BINARY="0.8.6"
|
||||||
nvm_version_greater_than_or_equal_to "$1" "$FIRST_VERSION_WITH_BINARY"
|
nvm_version_greater_than_or_equal_to "$(nvm_strip_iojs_prefix $1)" "$FIRST_VERSION_WITH_BINARY"
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_alias() {
|
nvm_alias() {
|
||||||
@@ -279,9 +350,11 @@ nvm_ls_current() {
|
|||||||
NVM_LS_CURRENT_NODE_PATH="$(command which node 2> /dev/null)"
|
NVM_LS_CURRENT_NODE_PATH="$(command which node 2> /dev/null)"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo 'none'
|
echo 'none'
|
||||||
|
elif nvm_tree_contains_path "$(nvm_version_dir iojs)" "$NVM_LS_CURRENT_NODE_PATH"; then
|
||||||
|
echo "$(nvm_add_iojs_prefix $(iojs --version 2>/dev/null))"
|
||||||
elif nvm_tree_contains_path "$NVM_DIR" "$NVM_LS_CURRENT_NODE_PATH"; then
|
elif nvm_tree_contains_path "$NVM_DIR" "$NVM_LS_CURRENT_NODE_PATH"; then
|
||||||
local VERSION
|
local VERSION
|
||||||
VERSION="$(node -v 2>/dev/null)"
|
VERSION="$(node --version 2>/dev/null)"
|
||||||
if [ "$VERSION" = "v0.6.21-pre" ]; then
|
if [ "$VERSION" = "v0.6.21-pre" ]; then
|
||||||
echo "v0.6.21"
|
echo "v0.6.21"
|
||||||
else
|
else
|
||||||
@@ -345,6 +418,31 @@ nvm_resolve_alias() {
|
|||||||
return 2
|
return 2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_iojs_prefix() {
|
||||||
|
echo "iojs"
|
||||||
|
}
|
||||||
|
nvm_node_prefix() {
|
||||||
|
echo "node"
|
||||||
|
}
|
||||||
|
|
||||||
|
nvm_is_iojs_version() {
|
||||||
|
[ "_$(echo "$1" | cut -c1-5)" = "_iojs-" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
nvm_add_iojs_prefix() {
|
||||||
|
command echo "$(nvm_iojs_prefix)-$(nvm_ensure_version_prefix "$(nvm_strip_iojs_prefix "$1")")"
|
||||||
|
}
|
||||||
|
|
||||||
|
nvm_strip_iojs_prefix() {
|
||||||
|
local NVM_IOJS_PREFIX
|
||||||
|
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||||
|
if [ "_$1" = "_$NVM_IOJS_PREFIX" ]; then
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo "$1" | command sed "s/^$NVM_IOJS_PREFIX-//"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
nvm_ls() {
|
nvm_ls() {
|
||||||
local PATTERN
|
local PATTERN
|
||||||
PATTERN="$1"
|
PATTERN="$1"
|
||||||
@@ -359,20 +457,31 @@ nvm_ls() {
|
|||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case "$PATTERN" in
|
||||||
|
"$(nvm_iojs_prefix)" | "$(nvm_node_prefix)")
|
||||||
|
PATTERN="$PATTERN-"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
PATTERN=$(nvm_ensure_version_prefix $PATTERN)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
# If it looks like an explicit version, don't do anything funny
|
# If it looks like an explicit version, don't do anything funny
|
||||||
PATTERN=$(nvm_ensure_version_prefix $PATTERN)
|
|
||||||
if [ "_$(echo "$PATTERN" | cut -c1-1)" = "_v" ] && [ "_$(nvm_num_version_groups "$PATTERN")" = "_3" ]; then
|
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
|
||||||
if [ "_$PATTERN" != "_system" ]; then
|
case "$PATTERN" in
|
||||||
local NUM_VERSION_GROUPS
|
"$(nvm_iojs_prefix)-" | "$(nvm_node_prefix)-" | "system")
|
||||||
NUM_VERSION_GROUPS="$(nvm_num_version_groups "$PATTERN")"
|
;;
|
||||||
if [ "_$NUM_VERSION_GROUPS" = "_2" ] || [ "_$NUM_VERSION_GROUPS" = "_1" ]; then
|
*)
|
||||||
PATTERN="$(echo "$PATTERN" | command sed -e 's/\.*$//g')."
|
local NUM_VERSION_GROUPS
|
||||||
fi
|
NUM_VERSION_GROUPS="$(nvm_num_version_groups "$PATTERN")"
|
||||||
fi
|
if [ "_$NUM_VERSION_GROUPS" = "_2" ] || [ "_$NUM_VERSION_GROUPS" = "_1" ]; then
|
||||||
|
PATTERN="$(echo "$PATTERN" | command sed -e 's/\.*$//g')."
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
local ZHS_HAS_SHWORDSPLIT_UNSET
|
local ZHS_HAS_SHWORDSPLIT_UNSET
|
||||||
ZHS_HAS_SHWORDSPLIT_UNSET=1
|
ZHS_HAS_SHWORDSPLIT_UNSET=1
|
||||||
@@ -383,7 +492,26 @@ nvm_ls() {
|
|||||||
|
|
||||||
local NVM_DIRS_TO_TEST_AND_SEARCH
|
local NVM_DIRS_TO_TEST_AND_SEARCH
|
||||||
local NVM_DIRS_TO_SEARCH
|
local NVM_DIRS_TO_SEARCH
|
||||||
NVM_DIRS_TO_TEST_AND_SEARCH="$(nvm_version_dir old) $(nvm_version_dir new)"
|
local NVM_ADD_SYSTEM
|
||||||
|
NVM_ADD_SYSTEM=false
|
||||||
|
if nvm_is_iojs_version "$PATTERN"; then
|
||||||
|
NVM_DIRS_TO_TEST_AND_SEARCH="$(nvm_version_dir iojs)"
|
||||||
|
PATTERN="$(nvm_strip_iojs_prefix "$PATTERN")"
|
||||||
|
if nvm_has_system_iojs; then
|
||||||
|
NVM_ADD_SYSTEM=true
|
||||||
|
fi
|
||||||
|
elif [ "_$PATTERN" = "_$(nvm_node_prefix)-" ]; then
|
||||||
|
NVM_DIRS_TO_TEST_AND_SEARCH="$(nvm_version_dir old) $(nvm_version_dir new)"
|
||||||
|
PATTERN=''
|
||||||
|
if nvm_has_system_node; then
|
||||||
|
NVM_ADD_SYSTEM=true
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
NVM_DIRS_TO_TEST_AND_SEARCH="$(nvm_version_dir old) $(nvm_version_dir new) $(nvm_version_dir iojs)"
|
||||||
|
if nvm_has_system_iojs || nvm_has_system_node; then
|
||||||
|
NVM_ADD_SYSTEM=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
for NVM_VERSION_DIR in $NVM_DIRS_TO_TEST_AND_SEARCH; do
|
for NVM_VERSION_DIR in $NVM_DIRS_TO_TEST_AND_SEARCH; do
|
||||||
if [ -d "$NVM_VERSION_DIR" ]; then
|
if [ -d "$NVM_VERSION_DIR" ]; then
|
||||||
NVM_DIRS_TO_SEARCH="$NVM_VERSION_DIR $NVM_DIRS_TO_SEARCH"
|
NVM_DIRS_TO_SEARCH="$NVM_VERSION_DIR $NVM_DIRS_TO_SEARCH"
|
||||||
@@ -394,19 +522,23 @@ nvm_ls() {
|
|||||||
PATTERN='v'
|
PATTERN='v'
|
||||||
fi
|
fi
|
||||||
VERSIONS="$(command find $NVM_DIRS_TO_SEARCH -maxdepth 1 -type d -name "$PATTERN*" \
|
VERSIONS="$(command find $NVM_DIRS_TO_SEARCH -maxdepth 1 -type d -name "$PATTERN*" \
|
||||||
|
| command sed "s#$(nvm_version_dir iojs)/#"$(nvm_iojs_prefix)"-#" \
|
||||||
| command sed "s#^$NVM_DIR/##" \
|
| command sed "s#^$NVM_DIR/##" \
|
||||||
| command grep -v -e '^versions$' \
|
| command grep -v -e '^versions$' \
|
||||||
|
| command sed 's#^versions/##' \
|
||||||
| sed -e 's/^v/node-v/' \
|
| sed -e 's/^v/node-v/' \
|
||||||
| command sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n \
|
| sed -e 's#^\(iojs\)[-/]v#\1.v#' | sed -e 's#^\(node\)[-/]v#\1.v#' \
|
||||||
|
| command sort -t. -u -k 2.2,2n -k 3,3n -k 4,4n \
|
||||||
| command sort -s -t- -k1.1,1.1 \
|
| command sort -s -t- -k1.1,1.1 \
|
||||||
| command sed 's/^node-//')"
|
| command sed 's/^\(iojs\)\./\1-/' \
|
||||||
|
| command sed 's/^node\.//')"
|
||||||
|
|
||||||
if [ $ZHS_HAS_SHWORDSPLIT_UNSET -eq 1 ] && nvm_has "unsetopt"; then
|
if [ $ZHS_HAS_SHWORDSPLIT_UNSET -eq 1 ] && nvm_has "unsetopt"; then
|
||||||
unsetopt shwordsplit
|
unsetopt shwordsplit
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if nvm_has_system_node; then
|
if [ "$NVM_ADD_SYSTEM" = true ]; then
|
||||||
if [ -z "$PATTERN" ] || [ "_$PATTERN" = "_v" ]; then
|
if [ -z "$PATTERN" ] || [ "_$PATTERN" = "_v" ]; then
|
||||||
VERSIONS="$VERSIONS$(command printf '\n%s' 'system')"
|
VERSIONS="$VERSIONS$(command printf '\n%s' 'system')"
|
||||||
elif [ "$PATTERN" = 'system' ]; then
|
elif [ "$PATTERN" = 'system' ]; then
|
||||||
@@ -429,7 +561,7 @@ nvm_ls_remote() {
|
|||||||
local GREP_OPTIONS
|
local GREP_OPTIONS
|
||||||
GREP_OPTIONS=''
|
GREP_OPTIONS=''
|
||||||
if nvm_validate_implicit_alias "$PATTERN" 2> /dev/null ; then
|
if nvm_validate_implicit_alias "$PATTERN" 2> /dev/null ; then
|
||||||
PATTERN="$(nvm_remote_version "$(nvm_print_implicit_alias remote "$PATTERN")")"
|
PATTERN="$(nvm_ls_remote "$(nvm_print_implicit_alias remote "$PATTERN")" | tail -n1)"
|
||||||
elif [ -n "$PATTERN" ]; then
|
elif [ -n "$PATTERN" ]; then
|
||||||
PATTERN="$(nvm_ensure_version_prefix "$PATTERN")"
|
PATTERN="$(nvm_ensure_version_prefix "$PATTERN")"
|
||||||
else
|
else
|
||||||
@@ -444,7 +576,28 @@ nvm_ls_remote() {
|
|||||||
return 3
|
return 3
|
||||||
fi
|
fi
|
||||||
echo "$VERSIONS"
|
echo "$VERSIONS"
|
||||||
return
|
}
|
||||||
|
|
||||||
|
nvm_ls_remote_iojs() {
|
||||||
|
local PATTERN
|
||||||
|
PATTERN="$1"
|
||||||
|
local VERSIONS
|
||||||
|
if [ -n "$PATTERN" ]; then
|
||||||
|
PATTERN="$(nvm_ensure_version_prefix $(nvm_strip_iojs_prefix "$PATTERN"))"
|
||||||
|
else
|
||||||
|
PATTERN=".*"
|
||||||
|
fi
|
||||||
|
VERSIONS="$(nvm_download -L -s $NVM_IOJS_ORG_VERSION_LISTING -o - \
|
||||||
|
| command sed 1d \
|
||||||
|
| command sed "s/^/$(nvm_iojs_prefix)-/" \
|
||||||
|
| command cut -f1 \
|
||||||
|
| command grep -w "$PATTERN" \
|
||||||
|
| command sort)"
|
||||||
|
if [ -z "$VERSIONS" ]; then
|
||||||
|
echo "N/A"
|
||||||
|
return 3
|
||||||
|
fi
|
||||||
|
echo "$VERSIONS"
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_checksum() {
|
nvm_checksum() {
|
||||||
@@ -473,14 +626,14 @@ nvm_print_versions() {
|
|||||||
local NVM_CURRENT
|
local NVM_CURRENT
|
||||||
NVM_CURRENT=$(nvm_ls_current)
|
NVM_CURRENT=$(nvm_ls_current)
|
||||||
echo "$1" | while read VERSION; do
|
echo "$1" | while read VERSION; do
|
||||||
if [ "$VERSION" = "$NVM_CURRENT" ]; then
|
if [ "_$VERSION" = "_$NVM_CURRENT" ]; then
|
||||||
FORMAT='\033[0;32m-> %9s\033[0m'
|
FORMAT='\033[0;32m-> %12s\033[0m'
|
||||||
elif [ -d "$(nvm_version_path "$VERSION" 2> /dev/null)" ]; then
|
|
||||||
FORMAT='\033[0;34m%12s\033[0m'
|
|
||||||
elif [ "$VERSION" = "system" ]; then
|
elif [ "$VERSION" = "system" ]; then
|
||||||
FORMAT='\033[0;33m%12s\033[0m'
|
FORMAT='\033[0;33m%15s\033[0m'
|
||||||
|
elif [ -d "$(nvm_version_path "$VERSION" 2> /dev/null)" ]; then
|
||||||
|
FORMAT='\033[0;34m%15s\033[0m'
|
||||||
else
|
else
|
||||||
FORMAT='%12s'
|
FORMAT='%15s'
|
||||||
fi
|
fi
|
||||||
printf "$FORMAT\n" $VERSION
|
printf "$FORMAT\n" $VERSION
|
||||||
done
|
done
|
||||||
@@ -565,12 +718,68 @@ nvm_get_arch() {
|
|||||||
echo "$NVM_ARCH"
|
echo "$NVM_ARCH"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_install_iojs_binary() {
|
||||||
|
local PREFIXED_VERSION
|
||||||
|
PREFIXED_VERSION="$1"
|
||||||
|
local REINSTALL_PACKAGES_FROM
|
||||||
|
REINSTALL_PACKAGES_FROM="$2"
|
||||||
|
|
||||||
|
if ! nvm_is_iojs_version "$PREFIXED_VERSION"; then
|
||||||
|
echo 'nvm_install_iojs_binary requires an iojs-prefixed version.' >&2
|
||||||
|
return 10
|
||||||
|
fi
|
||||||
|
|
||||||
|
local VERSION
|
||||||
|
VERSION="$(nvm_strip_iojs_prefix "$PREFIXED_VERSION")"
|
||||||
|
local VERSION_PATH
|
||||||
|
VERSION_PATH="$(nvm_version_path "$PREFIXED_VERSION")"
|
||||||
|
local NVM_OS
|
||||||
|
NVM_OS="$(nvm_get_os)"
|
||||||
|
local t
|
||||||
|
local url
|
||||||
|
local sum
|
||||||
|
|
||||||
|
if [ -n "$NVM_OS" ]; then
|
||||||
|
if nvm_binary_available "$VERSION"; then
|
||||||
|
t="$VERSION-$NVM_OS-$(nvm_get_arch)"
|
||||||
|
url="$NVM_IOJS_ORG_MIRROR/$VERSION/$(nvm_iojs_prefix)-${t}.tar.gz"
|
||||||
|
sum="$(nvm_download -L -s $NVM_IOJS_ORG_MIRROR/$VERSION/SHASUMS256.txt -o - | command grep $(nvm_iojs_prefix)-${t}.tar.gz | command awk '{print $1}')"
|
||||||
|
local tmpdir
|
||||||
|
tmpdir="$NVM_DIR/bin/iojs-${t}"
|
||||||
|
local tmptarball
|
||||||
|
tmptarball="$tmpdir/iojs-${t}.tar.gz"
|
||||||
|
if (
|
||||||
|
command mkdir -p "$tmpdir" && \
|
||||||
|
nvm_download -L -C - --progress-bar $url -o "$tmptarball" && \
|
||||||
|
echo "WARNING: checksums are currently disabled for io.js" >&2 && \
|
||||||
|
# nvm_checksum "$tmptarball" $sum && \
|
||||||
|
command tar -xzf "$tmptarball" -C "$tmpdir" --strip-components 1 && \
|
||||||
|
command rm -f "$tmptarball" && \
|
||||||
|
command mkdir -p "$VERSION_PATH" && \
|
||||||
|
command mv "$tmpdir"/* "$VERSION_PATH"
|
||||||
|
); then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo "Binary download failed, trying source." >&2
|
||||||
|
command rm -rf "$tmptarball" "$tmpdir"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
return 2
|
||||||
|
}
|
||||||
|
|
||||||
nvm_install_node_binary() {
|
nvm_install_node_binary() {
|
||||||
local VERSION
|
local VERSION
|
||||||
VERSION="$1"
|
VERSION="$1"
|
||||||
local REINSTALL_PACKAGES_FROM
|
local REINSTALL_PACKAGES_FROM
|
||||||
REINSTALL_PACKAGES_FROM="$2"
|
REINSTALL_PACKAGES_FROM="$2"
|
||||||
|
|
||||||
|
if nvm_is_iojs_version "$PREFIXED_VERSION"; then
|
||||||
|
echo 'nvm_install_node_binary does not allow an iojs-prefixed version.' >&2
|
||||||
|
return 10
|
||||||
|
fi
|
||||||
|
|
||||||
local VERSION_PATH
|
local VERSION_PATH
|
||||||
VERSION_PATH="$(nvm_version_path "$VERSION")"
|
VERSION_PATH="$(nvm_version_path "$VERSION")"
|
||||||
local NVM_OS
|
local NVM_OS
|
||||||
@@ -594,9 +803,9 @@ nvm_install_node_binary() {
|
|||||||
nvm_checksum "$tmptarball" $sum && \
|
nvm_checksum "$tmptarball" $sum && \
|
||||||
command tar -xzf "$tmptarball" -C "$tmpdir" --strip-components 1 && \
|
command tar -xzf "$tmptarball" -C "$tmpdir" --strip-components 1 && \
|
||||||
command rm -f "$tmptarball" && \
|
command rm -f "$tmptarball" && \
|
||||||
command mv "$tmpdir" "$VERSION_PATH"
|
command mkdir -p "$VERSION_PATH" && \
|
||||||
)
|
command mv "$tmpdir"/* "$VERSION_PATH"
|
||||||
then
|
); then
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
echo "Binary download failed, trying source." >&2
|
echo "Binary download failed, trying source." >&2
|
||||||
@@ -691,9 +900,6 @@ nvm() {
|
|||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Try to figure out the os and arch for binary fetching
|
|
||||||
local os
|
|
||||||
local arch
|
|
||||||
local GREP_OPTIONS
|
local GREP_OPTIONS
|
||||||
GREP_OPTIONS=''
|
GREP_OPTIONS=''
|
||||||
|
|
||||||
@@ -768,10 +974,6 @@ nvm() {
|
|||||||
shift
|
shift
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "_$NVM_OS" = "_freebsd" ]; then
|
|
||||||
nobinary=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
provided_version="$1"
|
provided_version="$1"
|
||||||
|
|
||||||
if [ -z "$provided_version" ]; then
|
if [ -z "$provided_version" ]; then
|
||||||
@@ -784,6 +986,12 @@ nvm() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
VERSION="$(nvm_remote_version "$provided_version")"
|
VERSION="$(nvm_remote_version "$provided_version")"
|
||||||
|
|
||||||
|
if [ "_$VERSION" = "_N/A" ]; then
|
||||||
|
echo "Version '$provided_version' not found - try \`nvm ls-remote\` to browse available versions." >&2
|
||||||
|
return 3
|
||||||
|
fi
|
||||||
|
|
||||||
ADDITIONAL_PARAMETERS=''
|
ADDITIONAL_PARAMETERS=''
|
||||||
local PROVIDED_REINSTALL_PACKAGES_FROM
|
local PROVIDED_REINSTALL_PACKAGES_FROM
|
||||||
local REINSTALL_PACKAGES_FROM
|
local REINSTALL_PACKAGES_FROM
|
||||||
@@ -810,6 +1018,11 @@ nvm() {
|
|||||||
return 5
|
return 5
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
local NVM_IOJS
|
||||||
|
if nvm_is_iojs_version "$VERSION"; then
|
||||||
|
NVM_IOJS=true
|
||||||
|
fi
|
||||||
|
|
||||||
local VERSION_PATH
|
local VERSION_PATH
|
||||||
VERSION_PATH="$(nvm_version_path "$VERSION")"
|
VERSION_PATH="$(nvm_version_path "$VERSION")"
|
||||||
if [ -d "$VERSION_PATH" ]; then
|
if [ -d "$VERSION_PATH" ]; then
|
||||||
@@ -820,14 +1033,24 @@ nvm() {
|
|||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "_$VERSION" = "_N/A" ]; then
|
if [ "_$NVM_OS" = "_freebsd" ]; then
|
||||||
echo "Version '$provided_version' not found - try \`nvm ls-remote\` to browse available versions." >&2
|
# node.js and io.js do not have a FreeBSD binary
|
||||||
return 3
|
nobinary=1
|
||||||
|
elif [ "_$NVM_OS" = "_sunos" ] && [ "$NVM_IOJS" = true ]; then
|
||||||
|
# io.js does not have a SunOS binary
|
||||||
|
nobinary=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# skip binary install if "nobinary" option specified.
|
# skip binary install if "nobinary" option specified.
|
||||||
if [ $nobinary -ne 1 ] && nvm_install_node_binary "$VERSION" "$REINSTALL_PACKAGES_FROM"; then
|
if [ $nobinary -ne 1 ] && nvm_binary_available "$VERSION"; then
|
||||||
if nvm use "$VERSION" \
|
local NVM_INSTALL_SUCCESS
|
||||||
|
if [ "$NVM_IOJS" = true ] && nvm_install_iojs_binary "$VERSION" "$REINSTALL_PACKAGES_FROM"; then
|
||||||
|
NVM_INSTALL_SUCCESS=true
|
||||||
|
elif [ "$NVM_IOJS" != true ] && nvm_install_node_binary "$VERSION" "$REINSTALL_PACKAGES_FROM"; then
|
||||||
|
NVM_INSTALL_SUCCESS=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$NVM_INSTALL_SUCCESS" = true ] \
|
||||||
|
&& nvm use "$VERSION" \
|
||||||
&& [ ! -z "$REINSTALL_PACKAGES_FROM" ] \
|
&& [ ! -z "$REINSTALL_PACKAGES_FROM" ] \
|
||||||
&& [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then
|
&& [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then
|
||||||
nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
|
nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
|
||||||
@@ -835,17 +1058,38 @@ nvm() {
|
|||||||
return $?
|
return $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
nvm_install_node_source "$VERSION" "$REINSTALL_PACKAGES_FROM" "$ADDITIONAL_PARAMETERS"
|
if [ "$NVM_IOJS" = true ]; then
|
||||||
|
# nvm_install_iojs_source "$VERSION" "$REINSTALL_PACKAGES_FROM" "$ADDITIONAL_PARAMETERS"
|
||||||
|
echo "Installing iojs from source is not currently supported" >&2
|
||||||
|
return 105
|
||||||
|
else
|
||||||
|
nvm_install_node_source "$VERSION" "$REINSTALL_PACKAGES_FROM" "$ADDITIONAL_PARAMETERS"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
"uninstall" )
|
"uninstall" )
|
||||||
[ $# -ne 2 ] && nvm help && return
|
[ $# -ne 2 ] && nvm help && return
|
||||||
PATTERN="$(nvm_ensure_version_prefix "$2")"
|
|
||||||
if [ "_$PATTERN" = "_$(nvm_version)" ]; then
|
local PATTERN
|
||||||
echo "nvm: Cannot uninstall currently-active node version, $PATTERN." >&2
|
PATTERN="$2"
|
||||||
|
local VERSION
|
||||||
|
case "_$PATTERN" in
|
||||||
|
"_$(nvm_iojs_prefix)" | "_$(nvm_iojs_prefix)-" \
|
||||||
|
| "_$(nvm_node_prefix)" | "_$(nvm_node_prefix)-")
|
||||||
|
VERSION="$(nvm_version $PATTERN)"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
VERSION="$(nvm_version "$PATTERN")"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if [ "_$PATTERN" = "_$(nvm_ls_current)" ]; then
|
||||||
|
if nvm_is_iojs_version "$PATTERN"; then
|
||||||
|
echo "nvm: Cannot uninstall currently-active io.js version, $VERSION (inferred from $PATTERN)." >&2
|
||||||
|
else
|
||||||
|
echo "nvm: Cannot uninstall currently-active node version, $VERSION (inferred from $PATTERN)." >&2
|
||||||
|
fi
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
local VERSION
|
|
||||||
VERSION="$(nvm_version "$PATTERN")"
|
|
||||||
local VERSION_PATH
|
local VERSION_PATH
|
||||||
VERSION_PATH="$(nvm_version_path "$VERSION")"
|
VERSION_PATH="$(nvm_version_path "$VERSION")"
|
||||||
if [ ! -d "$VERSION_PATH" ]; then
|
if [ ! -d "$VERSION_PATH" ]; then
|
||||||
@@ -855,20 +1099,28 @@ nvm() {
|
|||||||
|
|
||||||
t="$VERSION-$(nvm_get_os)-$(nvm_get_arch)"
|
t="$VERSION-$(nvm_get_os)-$(nvm_get_arch)"
|
||||||
|
|
||||||
|
local NVM_PREFIX
|
||||||
|
local NVM_SUCCESS_MSG
|
||||||
|
if nvm_is_iojs_version "$VERSION"; then
|
||||||
|
NVM_PREFIX="$(nvm_iojs_prefix)"
|
||||||
|
NVM_SUCCESS_MSG="Uninstalled io.js $(nvm_strip_iojs_prefix $VERSION)"
|
||||||
|
else
|
||||||
|
NVM_PREFIX="$(nvm_node_prefix)"
|
||||||
|
NVM_SUCCESS_MSG="Uninstalled node $VERSION"
|
||||||
|
fi
|
||||||
# Delete all files related to target version.
|
# Delete all files related to target version.
|
||||||
command rm -rf "$NVM_DIR/src/node-$VERSION" \
|
command rm -rf "$NVM_DIR/src/$NVM_PREFIX-$VERSION" \
|
||||||
"$NVM_DIR/src/node-$VERSION.tar.gz" \
|
"$NVM_DIR/src/$NVM_PREFIX-$VERSION.tar.gz" \
|
||||||
"$NVM_DIR/bin/node-${t}" \
|
"$NVM_DIR/bin/$NVM_PREFIX-${t}" \
|
||||||
"$NVM_DIR/bin/node-${t}.tar.gz" \
|
"$NVM_DIR/bin/$NVM_PREFIX-${t}.tar.gz" \
|
||||||
"$VERSION_PATH" 2>/dev/null
|
"$VERSION_PATH" 2>/dev/null
|
||||||
echo "Uninstalled node $VERSION"
|
echo "$NVM_SUCCESS_MSG"
|
||||||
|
|
||||||
# Rm any aliases that point to uninstalled version.
|
# rm any aliases that point to uninstalled version.
|
||||||
for ALIAS in `command grep -l $VERSION "$(nvm_alias_path)/*" 2>/dev/null`
|
for ALIAS in `command grep -l $VERSION "$(nvm_alias_path)/*" 2>/dev/null`
|
||||||
do
|
do
|
||||||
nvm unalias "$(command basename "$ALIAS")"
|
nvm unalias "$(command basename "$ALIAS")"
|
||||||
done
|
done
|
||||||
|
|
||||||
;;
|
;;
|
||||||
"deactivate" )
|
"deactivate" )
|
||||||
local NEWPATH
|
local NEWPATH
|
||||||
@@ -900,16 +1152,31 @@ nvm() {
|
|||||||
nvm help
|
nvm help
|
||||||
return 127
|
return 127
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $# -eq 1 ]; then
|
if [ $# -eq 1 ]; then
|
||||||
nvm_rc_version
|
nvm_rc_version
|
||||||
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
|
||||||
VERSION="$2"
|
local NVM_IOJS_PREFIX
|
||||||
|
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||||
|
case "_$2" in
|
||||||
|
"_$NVM_IOJS_PREFIX" | "_io.js")
|
||||||
|
VERSION="$(nvm_add_iojs_prefix $(nvm_ls | command grep "$NVM_IOJS_PREFIX" | tail -n1))"
|
||||||
|
;;
|
||||||
|
"_$(nvm_node_prefix)")
|
||||||
|
VERSION="$(nvm_version stable)"
|
||||||
|
;;
|
||||||
|
"_system")
|
||||||
|
VERSION="system"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
VERSION="$(nvm_version "$2")"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$VERSION" ]; then
|
if [ -z "$VERSION" ]; then
|
||||||
nvm help
|
nvm help
|
||||||
return 127
|
return 127
|
||||||
@@ -919,6 +1186,9 @@ nvm() {
|
|||||||
if nvm_has_system_node && nvm deactivate >/dev/null 2>&1; 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)."
|
echo "Now using system version of node: $(node -v 2>/dev/null)."
|
||||||
return
|
return
|
||||||
|
elif nvm_has_system_iojs && nvm deactivate >/dev/null 2>&1; then
|
||||||
|
echo "Now using system version of io.js: $(iojs --version 2>/dev/null)."
|
||||||
|
return
|
||||||
else
|
else
|
||||||
echo "System version of node not found." >&2
|
echo "System version of node not found." >&2
|
||||||
return 127
|
return 127
|
||||||
@@ -955,7 +1225,11 @@ nvm() {
|
|||||||
if [ "$NVM_SYMLINK_CURRENT" = true ]; then
|
if [ "$NVM_SYMLINK_CURRENT" = true ]; then
|
||||||
command rm -f "$NVM_DIR/current" && ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current"
|
command rm -f "$NVM_DIR/current" && ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current"
|
||||||
fi
|
fi
|
||||||
echo "Now using node $VERSION"
|
if nvm_is_iojs_version "$VERSION"; then
|
||||||
|
echo "Now using io.js $(nvm_strip_iojs_prefix "$VERSION")"
|
||||||
|
else
|
||||||
|
echo "Now using node $VERSION"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
"run" )
|
"run" )
|
||||||
local provided_version
|
local provided_version
|
||||||
@@ -990,11 +1264,22 @@ nvm() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Running node $VERSION"
|
local NVM_IOJS
|
||||||
|
if nvm_is_iojs_version "$VERSION"; then
|
||||||
|
NVM_IOJS=true
|
||||||
|
fi
|
||||||
|
|
||||||
local ARGS
|
local ARGS
|
||||||
ARGS="$@"
|
ARGS="$@"
|
||||||
local OUTPUT
|
local OUTPUT
|
||||||
OUTPUT="$(nvm use "$VERSION" >/dev/null && node "$ARGS")"
|
|
||||||
|
if [ "$NVM_IOJS" = true ]; then
|
||||||
|
echo "Running io.js $(nvm_strip_iojs_prefix "$VERSION")"
|
||||||
|
OUTPUT="$(nvm use "$VERSION" >/dev/null && iojs "$ARGS")"
|
||||||
|
else
|
||||||
|
echo "Running node $VERSION"
|
||||||
|
OUTPUT="$(nvm use "$VERSION" >/dev/null && node "$ARGS")"
|
||||||
|
fi
|
||||||
local EXIT_CODE
|
local EXIT_CODE
|
||||||
EXIT_CODE="$?"
|
EXIT_CODE="$?"
|
||||||
echo "$OUTPUT"
|
echo "$OUTPUT"
|
||||||
@@ -1037,11 +1322,44 @@ nvm() {
|
|||||||
return $NVM_LS_EXIT_CODE
|
return $NVM_LS_EXIT_CODE
|
||||||
;;
|
;;
|
||||||
"ls-remote" | "list-remote" )
|
"ls-remote" | "list-remote" )
|
||||||
local NVM_LS_EXIT_CODE
|
local PATTERN
|
||||||
NVM_LS_OUTPUT=$(nvm_ls_remote "$2")
|
PATTERN="$2"
|
||||||
NVM_LS_EXIT_CODE=$?
|
local NVM_FLAVOR
|
||||||
nvm_print_versions "$NVM_LS_OUTPUT"
|
case "_$PATTERN" in
|
||||||
return $NVM_LS_EXIT_CODE
|
"_$(nvm_iojs_prefix)" | "_$(nvm_node_prefix)" )
|
||||||
|
NVM_FLAVOR="$PATTERN"
|
||||||
|
PATTERN="$3"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
local NVM_LS_REMOTE_EXIT_CODE
|
||||||
|
NVM_LS_REMOTE_EXIT_CODE=0
|
||||||
|
local NVM_LS_REMOTE_OUTPUT
|
||||||
|
NVM_LS_REMOTE_OUTPUT=''
|
||||||
|
if [ "_$NVM_FLAVOR" != "_$(nvm_iojs_prefix)" ]; then
|
||||||
|
NVM_LS_REMOTE_OUTPUT=$(nvm_ls_remote "$PATTERN")
|
||||||
|
NVM_LS_REMOTE_EXIT_CODE=$?
|
||||||
|
fi
|
||||||
|
|
||||||
|
local NVM_LS_REMOTE_IOJS_EXIT_CODE
|
||||||
|
NVM_LS_REMOTE_IOJS_EXIT_CODE=0
|
||||||
|
local NVM_LS_REMOTE_IOJS_OUTPUT
|
||||||
|
NVM_LS_REMOTE_IOJS_OUTPUT=''
|
||||||
|
if [ "_$NVM_FLAVOR" != "_$(nvm_node_prefix)" ]; then
|
||||||
|
NVM_LS_REMOTE_IOJS_OUTPUT=$(nvm_ls_remote_iojs "$PATTERN")
|
||||||
|
NVM_LS_REMOTE_IOJS_EXIT_CODE=$?
|
||||||
|
fi
|
||||||
|
|
||||||
|
local NVM_OUTPUT
|
||||||
|
NVM_OUTPUT="$(echo "$NVM_LS_REMOTE_OUTPUT
|
||||||
|
$NVM_LS_REMOTE_IOJS_OUTPUT" | command grep -v "N/A" | sed '/^$/d')"
|
||||||
|
if [ -n "$NVM_OUTPUT" ]; then
|
||||||
|
nvm_print_versions "$NVM_OUTPUT"
|
||||||
|
return $NVM_LS_REMOTE_EXIT_CODE || $NVM_LS_REMOTE_IOJS_EXIT_CODE
|
||||||
|
else
|
||||||
|
nvm_print_versions "N/A"
|
||||||
|
return 3
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
"current" )
|
"current" )
|
||||||
nvm_version current
|
nvm_version current
|
||||||
@@ -1063,7 +1381,7 @@ nvm() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "_$VERSION" = '_system' ]; then
|
if [ "_$VERSION" = '_system' ]; then
|
||||||
if nvm_has_system_node >/dev/null 2>&1; then
|
if nvm_has_system_iojs >/dev/null 2>&1 || nvm_has_system_node >/dev/null 2>&1; then
|
||||||
local NVM_BIN
|
local NVM_BIN
|
||||||
NVM_BIN="$(nvm use system >/dev/null 2>&1 && command which node)"
|
NVM_BIN="$(nvm use system >/dev/null 2>&1 && command which node)"
|
||||||
if [ -n "$NVM_BIN" ]; then
|
if [ -n "$NVM_BIN" ]; then
|
||||||
@@ -1130,7 +1448,7 @@ nvm() {
|
|||||||
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_ALIAS_DIR/$2"
|
echo "$3" | tee "$NVM_ALIAS_DIR/$2"
|
||||||
if [ ! "_$3" = "_$VERSION" ]; then
|
if [ ! "_$3" = "_$VERSION" ]; then
|
||||||
echo "$2 -> $3 (-> $VERSION)"
|
echo "$2 -> $3 (-> $VERSION)"
|
||||||
else
|
else
|
||||||
@@ -1162,8 +1480,8 @@ nvm() {
|
|||||||
|
|
||||||
local INSTALLS
|
local INSTALLS
|
||||||
if [ "_$PROVIDED_VERSION" = "_system" ]; then
|
if [ "_$PROVIDED_VERSION" = "_system" ]; then
|
||||||
if ! nvm_has_system_node; then
|
if ! nvm_has_system_node && ! nvm_has_system_iojs; then
|
||||||
echo 'No system version of node detected.' >&2
|
echo 'No system version of node or io.js detected.' >&2
|
||||||
return 3
|
return 3
|
||||||
fi
|
fi
|
||||||
INSTALLS=$(nvm deactivate > /dev/null && npm list -g --depth=0 | command tail -n +2 | command grep -o -e ' [^@]*' | command cut -c 2- | command grep -v npm | command xargs)
|
INSTALLS=$(nvm deactivate > /dev/null && npm list -g --depth=0 | command tail -n +2 | command grep -o -e ' [^@]*' | command cut -c 2- | command grep -v npm | command xargs)
|
||||||
@@ -1184,10 +1502,17 @@ nvm() {
|
|||||||
nvm_version $2
|
nvm_version $2
|
||||||
;;
|
;;
|
||||||
"--version" )
|
"--version" )
|
||||||
echo "0.22.2"
|
echo "0.23.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 nvm_version_greater_than_or_equal_to nvm_supports_source_options > /dev/null 2>&1
|
unset -f nvm nvm_print_versions nvm_checksum \
|
||||||
|
nvm_iojs_prefix nvm_node_prefix \
|
||||||
|
nvm_add_iojs_prefix nvm_strip_iojs_prefix \
|
||||||
|
nvm_is_iojs_version \
|
||||||
|
nvm_ls_remote nvm_ls nvm_remote_version nvm_remote_versions \
|
||||||
|
nvm_version nvm_rc_version \
|
||||||
|
nvm_version_greater nvm_version_greater_than_or_equal_to \
|
||||||
|
nvm_supports_source_options > /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
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nvm",
|
"name": "nvm",
|
||||||
"version": "0.22.2",
|
"version": "0.23.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"
|
||||||
|
@@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
if [ -n "$ZSH_VERSION" ]; then
|
||||||
|
# set clobber option in order to test that this does not produce any
|
||||||
|
# incompatibilities
|
||||||
|
setopt noclobber
|
||||||
|
fi
|
||||||
|
|
||||||
|
nvm alias test-stable-1 0.0.2
|
||||||
|
|
||||||
|
nvm alias test-stable-1 | \grep -e "test-stable-1 -> 0.0.2 (-> v0.0.2)" \
|
||||||
|
|| die "nvm alias test-stable-1 0.0.2 did not set test-stable-1 to 0.0.2"
|
||||||
|
|
||||||
|
nvm alias test-stable-1 0.0.1
|
||||||
|
|
||||||
|
nvm alias test-stable-1 | \grep -e "test-stable-1 -> 0.0.1 (-> v0.0.1)" \
|
||||||
|
|| die "nvm alias test-stable-1 0.0.1 did not set test-stable-1 to 0.0.1"
|
@@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
. ../../../nvm.sh
|
. ../../../nvm.sh
|
||||||
|
|
||||||
nvm ls node
|
nvm ls node_
|
||||||
[ "$?" = "3" ]
|
[ "$?" = "3" ]
|
||||||
|
|
@@ -8,11 +8,17 @@ mkdir ../../../v0.0.9
|
|||||||
mkdir ../../../v0.3.1
|
mkdir ../../../v0.3.1
|
||||||
mkdir ../../../v0.3.3
|
mkdir ../../../v0.3.3
|
||||||
mkdir ../../../v0.3.9
|
mkdir ../../../v0.3.9
|
||||||
|
mkdir -p ../../../versions/node/v0.12.87
|
||||||
|
mkdir -p ../../../versions/node/v0.12.9
|
||||||
|
mkdir -p ../../../versions/io.js/v0.1.2
|
||||||
|
mkdir -p ../../../versions/io.js/v0.10.2
|
||||||
|
|
||||||
# The result should contain the version numbers.
|
# The result should contain the version numbers.
|
||||||
nvm ls | grep v0.0.1 &&
|
nvm ls | grep v0.0.1 >/dev/null &&
|
||||||
nvm ls | grep v0.0.3 &&
|
nvm ls | grep v0.0.3 >/dev/null &&
|
||||||
nvm ls | grep v0.0.9 &&
|
nvm ls | grep v0.0.9 >/dev/null &&
|
||||||
nvm ls | grep v0.3.1 &&
|
nvm ls | grep v0.3.1 >/dev/null &&
|
||||||
nvm ls | grep v0.3.3 &&
|
nvm ls | grep v0.3.3 >/dev/null &&
|
||||||
nvm ls | grep v0.3.9
|
nvm ls | grep v0.3.9 >/dev/null &&
|
||||||
|
nvm ls | grep v0.12.87 >/dev/null &&
|
||||||
|
nvm ls | grep iojs-v0.1.2 >/dev/null
|
||||||
|
22
test/fast/Running "nvm use iojs" uses latest io.js version
Executable file
22
test/fast/Running "nvm use iojs" uses latest io.js version
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; cleanup ; exit 1; }
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
rm -rf ../../alias/foo
|
||||||
|
}
|
||||||
|
|
||||||
|
. ../../nvm.sh
|
||||||
|
|
||||||
|
echo 'foo' > ../../alias/foo
|
||||||
|
|
||||||
|
OUTPUT="$(nvm use foo 2>&1)"
|
||||||
|
EXPECTED_OUTPUT='The alias "foo" leads to an infinite loop. Aborting.'
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] \
|
||||||
|
|| die "'nvm use foo' did not output '$EXPECTED_OUTPUT'; got '$OUTPUT'"
|
||||||
|
|
||||||
|
EXIT_CODE="$(nvm use foo 2>/dev/null ; echo $?)"
|
||||||
|
[ "_$EXIT_CODE" = "_8" ] || die "Expected exit code 8; got $EXIT_CODE"
|
||||||
|
|
||||||
|
cleanup;
|
||||||
|
|
9
test/fast/Unit tests/nvm_add_iojs_prefix
Executable file
9
test/fast/Unit tests/nvm_add_iojs_prefix
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
[ "_$(nvm_add_iojs_prefix 1)" = "_iojs-v1" ] || die '"nvm_add_iojs_prefix 1" did not return "iojs-v1"'
|
||||||
|
[ "_$(nvm_add_iojs_prefix iojs-1)" = "_iojs-v1" ] || die '"nvm_add_iojs_prefix iojs-1" did not return "iojs-v1"'
|
||||||
|
[ "_$(nvm_add_iojs_prefix iojs-1.2.3)" = "_iojs-v1.2.3" ] || die '"nvm_add_iojs_prefix iojs-1.2.3" did not return "iojs-v1.2.3"'
|
@@ -7,3 +7,6 @@ die () { echo $@ ; exit 1; }
|
|||||||
[ "_$(nvm_ensure_version_prefix 1)" = "_v1" ] || die '"nvm_ensure_version_prefix 1" did not return "v1"'
|
[ "_$(nvm_ensure_version_prefix 1)" = "_v1" ] || die '"nvm_ensure_version_prefix 1" did not return "v1"'
|
||||||
[ "_$(nvm_ensure_version_prefix v1)" = "_v1" ] || die '"nvm_ensure_version_prefix v1" did not return "v1"'
|
[ "_$(nvm_ensure_version_prefix v1)" = "_v1" ] || die '"nvm_ensure_version_prefix v1" did not return "v1"'
|
||||||
[ "_$(nvm_ensure_version_prefix foo)" = "_foo" ] || die '"nvm_ensure_version_prefix foo" did not return "foo"'
|
[ "_$(nvm_ensure_version_prefix foo)" = "_foo" ] || die '"nvm_ensure_version_prefix foo" did not return "foo"'
|
||||||
|
|
||||||
|
[ "_$(nvm_ensure_version_prefix iojs-1)" = "_iojs-v1" ] || die '"nvm_ensure_version_prefix iojs-1" did not return "iojs-v1"'
|
||||||
|
[ "_$(nvm_ensure_version_prefix iojs-v1)" = "_iojs-v1" ] || die '"nvm_ensure_version_prefix iojs-v1" did not return "iojs-v1"'
|
||||||
|
31
test/fast/Unit tests/nvm_has_system_iojs
Executable file
31
test/fast/Unit tests/nvm_has_system_iojs
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cleanup () {
|
||||||
|
rm ../../../versions/io.js/v0.1.2/node
|
||||||
|
rm ../../../versions/io.js/v0.1.2/iojs
|
||||||
|
rmdir ../../../versions/io.js/v0.1.2
|
||||||
|
}
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
mkdir ../../../versions/io.js/v0.1.2
|
||||||
|
touch ../../../versions/io.js/v0.1.2/node
|
||||||
|
touch ../../../versions/io.js/v0.1.2/iojs
|
||||||
|
|
||||||
|
nvm use iojs-v0.1.2
|
||||||
|
|
||||||
|
if command -v iojs; then
|
||||||
|
nvm_has_system_iojs
|
||||||
|
else
|
||||||
|
! nvm_has_system_iojs
|
||||||
|
fi
|
||||||
|
|
||||||
|
nvm deactivate /dev/null 2>&1
|
||||||
|
|
||||||
|
if command -v iojs; then
|
||||||
|
nvm_has_system_iojs
|
||||||
|
else
|
||||||
|
! nvm_has_system_iojs
|
||||||
|
fi
|
||||||
|
|
7
test/fast/Unit tests/nvm_iojs_prefix
Executable file
7
test/fast/Unit tests/nvm_iojs_prefix
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
[ "$(nvm_iojs_prefix)" = "iojs" ] || die '"nvm_iojs_prefix" did not return the string "iojs". why did this fail?!'
|
10
test/fast/Unit tests/nvm_is_iojs_version
Executable file
10
test/fast/Unit tests/nvm_is_iojs_version
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
nvm_is_iojs_version 'iojs-' || die '"nvm_is_iojs_version iojs- was not true'
|
||||||
|
nvm_is_iojs_version 'iojs-foo' || die '"nvm_is_iojs_version iojs- was not true'
|
||||||
|
! nvm_is_iojs_version 'iojs' || die '"nvm_is_iojs_version iojs was not false'
|
||||||
|
! nvm_is_iojs_version 'v1.0.0' || die '"nvm_is_iojs_version v1.0.0" was not false'
|
34
test/fast/Unit tests/nvm_ls_remote_iojs
Executable file
34
test/fast/Unit tests/nvm_ls_remote_iojs
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/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 'version date files npm v8 uv zlib openssl modules'
|
||||||
|
echo 'v1.0.1 2015-01-14 linux-armv7l,linux-x64,linux-x86,osx-x64-tar,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi'
|
||||||
|
echo 'v1.0.0 2015-01-14 linux-armv7l,linux-x64,linux-x86,osx-x64-tar,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi'
|
||||||
|
}
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_ls_remote_iojs foo)"
|
||||||
|
EXIT_CODE="$(nvm_ls_remote_iojs 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_iojs)"
|
||||||
|
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 | sed -e 's/^/iojs-/')"
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "bare nvm_ls_remote_iojs did not output expected sorted versions; got $(echo "$OUTPUT") expected $(echo "$EXPECTED_OUTPUT")"
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_ls_remote_iojs 1.0)"
|
||||||
|
EXPECTED_OUTPUT="iojs-v1.0.0
|
||||||
|
iojs-v1.0.1"
|
||||||
|
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_ls_remote_iojs 1.0 did not output 1.0.x versions; got $OUTPUT"
|
||||||
|
|
||||||
|
cleanup
|
||||||
|
|
7
test/fast/Unit tests/nvm_node_prefix
Executable file
7
test/fast/Unit tests/nvm_node_prefix
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
[ "$(nvm_node_prefix)" = "node" ] || die '"nvm_node_prefix" did not return the string "node". why did this fail?!'
|
@@ -3,7 +3,7 @@
|
|||||||
die () { echo $@ ; cleanup ; exit 1; }
|
die () { echo $@ ; cleanup ; exit 1; }
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
unset -f nvm_ls_remote
|
unset -f nvm_ls_remote nvm_ls_remote_iojs
|
||||||
}
|
}
|
||||||
|
|
||||||
. ../../../nvm.sh
|
. ../../../nvm.sh
|
||||||
@@ -11,25 +11,51 @@ cleanup() {
|
|||||||
nvm_ls_remote() {
|
nvm_ls_remote() {
|
||||||
echo "N/A"
|
echo "N/A"
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT="$(nvm_remote_version foo)"
|
OUTPUT="$(nvm_remote_version foo)"
|
||||||
EXIT_CODE="$(nvm_remote_version foo >/dev/null 2>&1 ; echo $?)"
|
EXIT_CODE="$(nvm_remote_version foo >/dev/null 2>&1 ; echo $?)"
|
||||||
|
|
||||||
[ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A"
|
[ "_$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"
|
[ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE"
|
||||||
|
|
||||||
nvm_ls_remote() {
|
nvm_ls_remote_iojs() {
|
||||||
echo "test output"
|
echo "N/A"
|
||||||
echo "more test output"
|
|
||||||
echo "pattern received: _$1_"
|
|
||||||
}
|
}
|
||||||
|
OUTPUT="$(nvm_remote_version iojs-foo)"
|
||||||
|
EXIT_CODE="$(nvm_remote_version iojs-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() {
|
||||||
|
if ! nvm_is_iojs_version "$1"; then
|
||||||
|
echo "test output"
|
||||||
|
echo "more test output"
|
||||||
|
echo "pattern received: _$1_"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
nvm_ls_remote_iojs() {
|
||||||
|
if nvm_is_iojs_version "$1"; then
|
||||||
|
echo "test iojs output"
|
||||||
|
echo "more iojs test output"
|
||||||
|
echo "iojs pattern received: _$1_"
|
||||||
|
fi
|
||||||
|
}
|
||||||
OUTPUT="$(nvm_remote_version foo)"
|
OUTPUT="$(nvm_remote_version foo)"
|
||||||
EXIT_CODE="$(nvm_remote_version foo >/dev/null 2>&1 ; echo $?)"
|
EXIT_CODE="$(nvm_remote_version foo >/dev/null 2>&1 ; echo $?)"
|
||||||
|
|
||||||
[ "_$OUTPUT" = "_pattern received: _foo_" ] \
|
[ "_$OUTPUT" = "_pattern received: _foo_" ] \
|
||||||
|| die "nvm_remote_version foo did not return last line only of nvm_ls_remote foo; got $OUTPUT"
|
|| 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"
|
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_version foo did not exit with 0, got $EXIT_CODE"
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_remote_version iojs-foo)"
|
||||||
|
EXIT_CODE="$(nvm_remote_version iojs-foo >/dev/null 2>&1 ; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_iojs pattern received: _iojs-foo_" ] \
|
||||||
|
|| die "nvm_remote_version iojs-foo did not return last line only of nvm_ls_remote_iojs foo; got $OUTPUT"
|
||||||
|
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_version iojs-foo did not exit with 0, got $EXIT_CODE"
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_remote_version stable)"
|
||||||
|
EXIT_CODE="$(nvm_remote_version stable >/dev/null 2>&1 ; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_$(nvm_ls_remote stable)" ] \
|
||||||
|
|| die "nvm_remote_version stable did not return contents of nvm_ls_remote stable; got $OUTPUT"
|
||||||
|
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_version stable did not exit with 0, got $EXIT_CODE"
|
||||||
|
|
||||||
cleanup
|
cleanup
|
||||||
|
|
||||||
|
78
test/fast/Unit tests/nvm_remote_versions
Executable file
78
test/fast/Unit tests/nvm_remote_versions
Executable file
@@ -0,0 +1,78 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; cleanup ; exit 1; }
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
unset -f nvm_ls_remote nvm_ls_remote_iojs
|
||||||
|
}
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_remote_versions stable 2>&1)"
|
||||||
|
EXPECTED_OUTPUT="Implicit aliases are not supported in nvm_remote_versions."
|
||||||
|
EXIT_CODE="$(nvm_remote_versions stable >/dev/null 2>&1; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "implicit alias 'stable' did not error out with correct message, got $OUTPUT"
|
||||||
|
[ "_$EXIT_CODE" = "_1" ] || die "implicit alias 'stable' did not exit with code 1, got $EXIT_CODE"
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_remote_versions unstable 2>&1)"
|
||||||
|
EXPECTED_OUTPUT="Implicit aliases are not supported in nvm_remote_versions."
|
||||||
|
EXIT_CODE="$(nvm_remote_versions unstable >/dev/null 2>&1; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "implicit alias 'unstable' did not error out with correct message, got $OUTPUT"
|
||||||
|
[ "_$EXIT_CODE" = "_1" ] || die "implicit alias 'unstable' did not exit with code 1, got $EXIT_CODE"
|
||||||
|
|
||||||
|
nvm_ls_remote() {
|
||||||
|
echo "N/A"
|
||||||
|
}
|
||||||
|
OUTPUT="$(nvm_remote_versions foo)"
|
||||||
|
EXIT_CODE="$(nvm_remote_versions 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_iojs() {
|
||||||
|
echo "N/A"
|
||||||
|
}
|
||||||
|
OUTPUT="$(nvm_remote_versions iojs-foo)"
|
||||||
|
EXIT_CODE="$(nvm_remote_versions iojs-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_"
|
||||||
|
}
|
||||||
|
nvm_ls_remote_iojs() {
|
||||||
|
echo "test iojs output"
|
||||||
|
echo "more iojs test output"
|
||||||
|
echo "iojs pattern received: _$1_"
|
||||||
|
}
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_remote_versions foo)"
|
||||||
|
EXIT_CODE="$(nvm_remote_versions foo >/dev/null 2>&1 ; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_$(nvm_ls_remote foo)
|
||||||
|
$(nvm_ls_remote_iojs foo)" ] \
|
||||||
|
|| die "nvm_remote_versions foo did not return contents of nvm_ls_remote foo combined with nvm_ls_remote_iojs foo; got $OUTPUT"
|
||||||
|
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_versions foo did not exit with 0, got $EXIT_CODE"
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_remote_versions node)"
|
||||||
|
EXIT_CODE="$(nvm_remote_versions node >/dev/null 2>&1 ; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_$(nvm_ls_remote)" ] \
|
||||||
|
|| die "nvm_remote_versions node did not return contents of nvm_ls_remote; got $OUTPUT"
|
||||||
|
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_versions node did not exit with 0, got $EXIT_CODE"
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_remote_versions iojs-foo)"
|
||||||
|
EXIT_CODE="$(nvm_remote_versions iojs-foo >/dev/null 2>&1 ; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_$(nvm_ls_remote iojs-foo)
|
||||||
|
$(nvm_ls_remote_iojs iojs-foo)" ] \
|
||||||
|
|| die "nvm_remote_versions iojs-foo did not return contents of nvm_ls_remote iojs-foo combined with nvm_ls_remote_iojs iojs-foo; got $OUTPUT"
|
||||||
|
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_versions iojs-foo did not exit with 0, got $EXIT_CODE"
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_remote_versions iojs)"
|
||||||
|
EXIT_CODE="$(nvm_remote_versions iojs >/dev/null 2>&1 ; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_$(nvm_ls_remote_iojs)" ] \
|
||||||
|
|| die "nvm_remote_versions iojs did not return contents of nvm_ls_remote_iojs; got $OUTPUT"
|
||||||
|
[ "_$EXIT_CODE" = "_0" ] || die "nvm_remote_versions iojs did not exit with 0, got $EXIT_CODE"
|
||||||
|
|
||||||
|
cleanup
|
||||||
|
|
10
test/fast/Unit tests/nvm_strip_iojs_prefix
Executable file
10
test/fast/Unit tests/nvm_strip_iojs_prefix
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
[ "_$(nvm_strip_iojs_prefix iojs)" = "_" ] || die '"nvm_strip_iojs_prefix iojs" did not return an empty string'
|
||||||
|
[ "_$(nvm_strip_iojs_prefix iojs-)" = "_" ] || die '"nvm_strip_iojs_prefix iojs-" did not return an empty string'
|
||||||
|
[ "_$(nvm_strip_iojs_prefix iojs-foo)" = "_foo" ] || die '"nvm_strip_iojs_prefix iojs-foo" did not return "foo"'
|
||||||
|
[ "_$(nvm_strip_iojs_prefix iojsfoo)" = "_iojsfoo" ] || die '"nvm_strip_iojs_prefix iojsfoo" did not return "iojsfoo"'
|
@@ -4,7 +4,7 @@ die () { echo $@ ; exit 1; }
|
|||||||
|
|
||||||
. ../../../nvm.sh
|
. ../../../nvm.sh
|
||||||
|
|
||||||
TEST_PATH=$NVM_DIR/v0.10.5/bin:/usr/bin:$NVM_DIR/v0.11.5/bin:$NVM_DIR/v0.9.5/bin:/usr/local/bin:$NVM_DIR/v0.2.5/bin
|
TEST_PATH=$NVM_DIR/v0.10.5/bin:/usr/bin:$NVM_DIR/v0.11.5/bin:$NVM_DIR/v0.9.5/bin:/usr/local/bin:$NVM_DIR/v0.2.5/bin:$NVM_DIR/versions/node/v0.12.0/bin:$NVM_DIR/versions/io.js/v1.0.0/bin
|
||||||
|
|
||||||
STRIPPED_PATH=`nvm_strip_path "$TEST_PATH" "/bin"`
|
STRIPPED_PATH=`nvm_strip_path "$TEST_PATH" "/bin"`
|
||||||
|
|
||||||
|
48
test/fast/Unit tests/nvm_version
Executable file
48
test/fast/Unit tests/nvm_version
Executable file
@@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; cleanup ; exit 1; }
|
||||||
|
cleanup () {
|
||||||
|
unset -f nvm_ls_current nvm_ls
|
||||||
|
}
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
nvm_ls_current() {
|
||||||
|
echo "CURRENT!"
|
||||||
|
return 7
|
||||||
|
}
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_version current)"
|
||||||
|
EXPECTED_OUTPUT="CURRENT!"
|
||||||
|
EXIT_CODE="$(nvm_version current 2>&1 >/dev/null ; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version current" did not return nvm_ls_current output'
|
||||||
|
[ "_$EXIT_CODE" = "_7" ] || die '"nvm_version current" did not return nvm_ls_current exit code'
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_version)"
|
||||||
|
EXPECTED_OUTPUT="CURRENT!"
|
||||||
|
EXIT_CODE="$(nvm_version 2>&1 >/dev/null ; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return nvm_ls_current output'
|
||||||
|
[ "_$EXIT_CODE" = "_7" ] || die '"nvm_version" did not return nvm_ls_current exit code'
|
||||||
|
|
||||||
|
nvm_ls() {
|
||||||
|
echo "line 1"
|
||||||
|
echo "line 2"
|
||||||
|
echo "pattern: $1"
|
||||||
|
}
|
||||||
|
[ "_$(nvm_version foo)" = "_pattern: foo" ] || die '"nvm_version foo" did not pass the pattern to "nvm_ls", or return the last line'
|
||||||
|
[ "_$(nvm_version node)" = "_pattern: stable" ] || die '"nvm_version node" did not pass "stable" to "nvm_ls"'
|
||||||
|
[ "_$(nvm_version node-)" = "_pattern: stable" ] || die '"nvm_version node-" did not pass "stable" to "nvm_ls"'
|
||||||
|
|
||||||
|
nvm_ls() { echo "N/A"; }
|
||||||
|
OUTPUT="$(nvm_version foo)"
|
||||||
|
EXPECTED_OUTPUT="N/A"
|
||||||
|
EXIT_CODE="$(nvm_version foo 2>&1 >/dev/null ; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return N/A when nvm_ls returns N/A'
|
||||||
|
[ "_$EXIT_CODE" = "_3" ] || die '"nvm_version" returning N/A did not exit code with code 3'
|
||||||
|
|
||||||
|
nvm_ls() { echo; }
|
||||||
|
OUTPUT="$(nvm_version foo)"
|
||||||
|
EXPECTED_OUTPUT="N/A"
|
||||||
|
EXIT_CODE="$(nvm_version foo 2>&1 >/dev/null ; echo $?)"
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die '"nvm_version" did not return N/A when nvm_ls returns nothing'
|
||||||
|
[ "_$EXIT_CODE" = "_3" ] || die '"nvm_version" returning N/A did not exit code with code 3'
|
@@ -5,6 +5,7 @@ die () { echo $@ ; exit 1; }
|
|||||||
. ../../../nvm.sh
|
. ../../../nvm.sh
|
||||||
|
|
||||||
[ "$(nvm_version_dir)" = "$NVM_DIR/versions/node" ] || die '"nvm_version_dir" did not return new dir path'
|
[ "$(nvm_version_dir)" = "$NVM_DIR/versions/node" ] || die '"nvm_version_dir" did not return new dir path'
|
||||||
|
[ "$(nvm_version_dir iojs)" = "$NVM_DIR/versions/io.js" ] || die '"nvm_version_dir iojs" did not return iojs dir path'
|
||||||
[ "$(nvm_version_dir new)" = "$(nvm_version_dir)" ] || die '"nvm_version_dir new" did not return new dir path'
|
[ "$(nvm_version_dir new)" = "$(nvm_version_dir)" ] || die '"nvm_version_dir new" did not return new dir path'
|
||||||
[ "$(nvm_version_dir old)" = "$NVM_DIR" ] || die '"nvm_version_dir old" did not return old dir path'
|
[ "$(nvm_version_dir old)" = "$NVM_DIR" ] || die '"nvm_version_dir old" did not return old dir path'
|
||||||
[ "$(nvm_version_dir foo 2>&1)" = "unknown version dir" ] || die '"nvm_version_dir foo" did not error out'
|
[ "$(nvm_version_dir foo 2>&1)" = "unknown version dir" ] || die '"nvm_version_dir foo" did not error out'
|
||||||
|
@@ -8,4 +8,5 @@ die () { echo $@ ; exit 1; }
|
|||||||
[ "$(nvm_version_path 2>&1)" = "version is required" ] || die '"nvm_version_path" did not error out'
|
[ "$(nvm_version_path 2>&1)" = "version is required" ] || die '"nvm_version_path" did not error out'
|
||||||
[ "$(nvm_version_path v0.11.0)" = "$NVM_DIR/v0.11.0" ] || die 'old version has the wrong path'
|
[ "$(nvm_version_path v0.11.0)" = "$NVM_DIR/v0.11.0" ] || die 'old version has the wrong path'
|
||||||
[ "$(nvm_version_path v0.12.0)" = "$NVM_DIR/versions/node/v0.12.0" ] || die 'new version has the wrong path'
|
[ "$(nvm_version_path v0.12.0)" = "$NVM_DIR/versions/node/v0.12.0" ] || die 'new version has the wrong path'
|
||||||
|
[ "$(nvm_version_path iojs-v0.12.0)" = "$NVM_DIR/versions/io.js/v0.12.0" ] || die 'iojs version has the wrong path'
|
||||||
|
|
||||||
|
26
test/installation/io.js/install already installed uses it
Executable file
26
test/installation/io.js/install already installed uses it
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../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"
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e ../../../versions/io.js/v1.0.0 ] && rm -R ../../../versions/io.js/v1.0.0
|
||||||
|
[ -e ../../../versions/io.js/v1.0.1 ] && rm -R ../../../versions/io.js/v1.0.1
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
nvm install iojs-v1.0.0
|
||||||
|
nvm install iojs-v1.0.1
|
||||||
|
|
||||||
|
nvm use iojs-v1.0.0
|
||||||
|
|
||||||
|
node --version | grep v1.0.0 || die "precondition failed: iojs node doesn't start at v1.0.0"
|
||||||
|
iojs --version | grep v1.0.0 || die "precondition failed: iojs binary doesn't start at v1.0.0"
|
||||||
|
|
||||||
|
nvm install iojs-v1.0.1
|
||||||
|
|
||||||
|
node --version | grep v1.0.1 || die "nvm install on already installed version doesn't use it (node binary)"
|
||||||
|
iojs --version | grep v1.0.1 || die "nvm install on already installed version doesn't use it (iojs binary)"
|
||||||
|
|
19
test/installation/io.js/install from binary
Executable file
19
test/installation/io.js/install from binary
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
NVM_TEST_VERSION="v1.0.0"
|
||||||
|
NVM_PREFIXED_TEST_VERSION="iojs-$NVM_TEST_VERSION"
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
nvm install $NVM_PREFIXED_TEST_VERSION || die "install $NVM_PREFIXED_TEST_VERSION failed"
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d ../../../versions/io.js/$NVM_TEST_VERSION ]
|
||||||
|
nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION || die "'nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||||
|
|
26
test/installation/io.js/install two versions and use the latest one
Executable file
26
test/installation/io.js/install two versions and use the latest one
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e ../../../versions/io.js/v1.0.0 ] && rm -R ../../../versions/io.js/v1.0.0
|
||||||
|
[ -e ../../../versions/io.js/v1.0.1 ] && rm -R ../../../versions/io.js/v1.0.1
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
nvm install iojs-v1.0.0 || die "'nvm install iojs-v1.0.0' failed"
|
||||||
|
nvm i iojs-v1.0.1 || die "'nvm i iojs-v1.0.1' failed"
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d ../../../versions/io.js/v1.0.0 ] || die "iojs v1.0.0 didn't exist"
|
||||||
|
[ -d ../../../versions/io.js/v1.0.1 ] || die "iojs v1.0.1 didn't exist"
|
||||||
|
|
||||||
|
# Use the first one
|
||||||
|
nvm use iojs-1.0.0 || die "'nvm use iojs-1.0.0' failed"
|
||||||
|
|
||||||
|
# Use the latest one
|
||||||
|
nvm use iojs-1 || die "'nvm use iojs-1' failed"
|
||||||
|
[ "_$(node --version)" = "_v1.0.1" ] || die "'node --version' was not v1.0.1, got: $(node --version)"
|
||||||
|
[ "_$(iojs --version)" = "_v1.0.1" ] || die "'iojs --version' was not v1.0.1, got: $(iojs --version)"
|
||||||
|
|
24
test/installation/io.js/install version specified in .nvmrc from binary
Executable file
24
test/installation/io.js/install version specified in .nvmrc from binary
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
NVM_TEST_VERSION=v1.0.0
|
||||||
|
NVM_PREFIXED_TEST_VERSION="iojs-$NVM_TEST_VERSION"
|
||||||
|
VERSION_PATH="../../../versions/io.js/$NVM_TEST_VERSION"
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e $VERSION_PATH ] && rm -R $VERSION_PATH
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
echo "$NVM_PREFIXED_TEST_VERSION" > .nvmrc
|
||||||
|
|
||||||
|
nvm install || die "'nvm install' failed"
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d $VERSION_PATH ] || die "./$VERSION_PATH did not exist"
|
||||||
|
nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION \
|
||||||
|
|| "'nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||||
|
|
||||||
|
|
32
test/installation/io.js/install while reinstalling packages
Executable file
32
test/installation/io.js/install while reinstalling packages
Executable file
@@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e ../../../versions/io.js/v1.0.0 ] && rm -R ../../../versions/io.js/v1.0.0
|
||||||
|
[ -e ../../../versions/io.js/v1.0.1 ] && rm -R ../../../versions/io.js/v1.0.1
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
nvm install iojs-v1.0.0
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d ../../../versions/io.js/v1.0.0 ] || die "nvm install iojs-v1.0.0 didn't install"
|
||||||
|
|
||||||
|
node --version | grep v1.0.0 > /dev/null || die "nvm install didn't use iojs-v1.0.0"
|
||||||
|
|
||||||
|
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 iojs-1 | grep iojs-v1.0.0 > /dev/null || die "nvm ls iojs-1 didn't show iojs-v1.0.0"
|
||||||
|
|
||||||
|
nvm install iojs-v1.0.1 --reinstall-packages-from=iojs-1.0.0 || die "nvm install iojs-v1.0.1 --reinstall-packages-from=iojs-1.0.0 failed"
|
||||||
|
|
||||||
|
[ -d ../../../versions/io.js/v1.0.1 ] || die "nvm install iojs-v1.0.1 didn't install"
|
||||||
|
|
||||||
|
nvm use iojs-1
|
||||||
|
node --version | grep v1.0.1 > /dev/null || die "nvm use iojs-1 didn't use v1.0.1"
|
||||||
|
|
||||||
|
npm list --global | grep is-nan > /dev/null || die "is-nan isn't installed"
|
||||||
|
|
20
test/installation/io.js/nvm install v1 works
Executable file
20
test/installation/io.js/nvm install v1 works
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
NVM_VERSION="v1"
|
||||||
|
NVM_PREFIXED_TEST_VERSION="$(nvm ls-remote "$NVM_VERSION" | tail -n1 | sed 's/^[ ]*//;s/[ ]*$//')"
|
||||||
|
NVM_TEST_VERSION="$(nvm_strip_iojs_prefix "$NVM_PREFIXED_TEST_VERSION")"
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
nvm install "$NVM_VERSION" || die "nvm install $NVM_VERSION failed"
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d ../../../versions/io.js/$NVM_TEST_VERSION ]
|
||||||
|
nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION || die "'nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||||
|
|
14
test/installation/io.js/teardown_dir
Executable file
14
test/installation/io.js/teardown_dir
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
nvm deactivate
|
||||||
|
nvm uninstall iojs-v1.0.0
|
||||||
|
|
||||||
|
if [ -f ".nvmrc" ]; then
|
||||||
|
rm .nvmrc
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f ".nvmrc.bak" ]; then
|
||||||
|
mv .nvmrc.bak .nvmrc
|
||||||
|
fi
|
||||||
|
|
@@ -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
|
@@ -2,17 +2,17 @@
|
|||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
. ../../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 || die "install $NVM_TEST_VERSION failed"
|
nvm install $NVM_TEST_VERSION || die "install $NVM_TEST_VERSION failed"
|
||||||
|
|
||||||
# Check
|
# Check
|
||||||
[ -d ../../$NVM_TEST_VERSION ]
|
[ -d ../../../$NVM_TEST_VERSION ]
|
||||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || die "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || die "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||||
|
|
@@ -2,17 +2,17 @@
|
|||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
. ../../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 || die "'nvm install -s $NVM_TEST_VERSION' failed"
|
nvm install -s $NVM_TEST_VERSION || die "'nvm install -s $NVM_TEST_VERSION' failed"
|
||||||
|
|
||||||
# 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' failed"
|
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||||
|
|
18
test/installation/node/install from source implicitly
Executable file
18
test/installation/node/install from source implicitly
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
NVM_TEST_VERSION=v0.8.5
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e ../../../$NVM_TEST_VERSION ] && rm -R ../../../$NVM_TEST_VERSION
|
||||||
|
|
||||||
|
# Install from source implicitly (v0.8.6 is when binaries started)
|
||||||
|
nvm install $NVM_TEST_VERSION || die "'nvm install -s $NVM_TEST_VERSION' failed"
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d ../../../$NVM_TEST_VERSION ]
|
||||||
|
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||||
|
|
@@ -2,19 +2,19 @@
|
|||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
. ../../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 || die "'nvm install 0.9.7' failed"
|
nvm install 0.9.7 || die "'nvm install 0.9.7' failed"
|
||||||
nvm i 0.9.12 || die "'nvm i 0.9.12' failed"
|
nvm i 0.9.12 || die "'nvm i 0.9.12' failed"
|
||||||
|
|
||||||
# Check
|
# Check
|
||||||
[ -d ../../v0.9.7 ] || die "v0.9.7 didn't exist"
|
[ -d ../../../v0.9.7 ] || die "v0.9.7 didn't exist"
|
||||||
[ -d ../../v0.9.12 ] || die "v0.9.12 didn't exist"
|
[ -d ../../../v0.9.12 ] || die "v0.9.12 didn't exist"
|
||||||
|
|
||||||
# Use the first one
|
# Use the first one
|
||||||
nvm use 0.9.7 || die "'nvm use 0.9.7' failed"
|
nvm use 0.9.7 || die "'nvm use 0.9.7' failed"
|
@@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
. ../../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
|
||||||
echo "$NVM_TEST_VERSION" > .nvmrc
|
echo "$NVM_TEST_VERSION" > .nvmrc
|
||||||
@@ -15,7 +15,7 @@ echo "$NVM_TEST_VERSION" > .nvmrc
|
|||||||
nvm install || die "'nvm install' failed"
|
nvm install || die "'nvm install' failed"
|
||||||
|
|
||||||
# Check
|
# Check
|
||||||
[ -d ../../$NVM_TEST_VERSION ] || die "./$NVM_TEST_VERSION did not exist"
|
[ -d ../../../$NVM_TEST_VERSION ] || die "./$NVM_TEST_VERSION did not exist"
|
||||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION \
|
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION \
|
||||||
|| "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
|| "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||||
|
|
@@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
. ../../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
|
||||||
echo "$NVM_TEST_VERSION" > .nvmrc
|
echo "$NVM_TEST_VERSION" > .nvmrc
|
||||||
@@ -15,7 +15,7 @@ echo "$NVM_TEST_VERSION" > .nvmrc
|
|||||||
nvm install -s || "'nvm install -s' failed"
|
nvm install -s || "'nvm install -s' failed"
|
||||||
|
|
||||||
# Check
|
# Check
|
||||||
[ -d ../../$NVM_TEST_VERSION ] || die "$NVM_TEST_VERSION did not exist"
|
[ -d ../../../$NVM_TEST_VERSION ] || die "$NVM_TEST_VERSION did not exist"
|
||||||
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION \
|
nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION \
|
||||||
|| die "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
|| die "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
||||||
|
|
@@ -2,17 +2,17 @@
|
|||||||
|
|
||||||
die () { echo $@ ; exit 1; }
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
. ../../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
|
||||||
|
|
||||||
# Check
|
# Check
|
||||||
[ -d ../../v0.9.7 ] || die "nvm install 0.9.7 didn't install"
|
[ -d ../../../v0.9.7 ] || die "nvm install 0.9.7 didn't install"
|
||||||
|
|
||||||
nvm use 0.9.7
|
nvm use 0.9.7
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ 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 --reinstall-packages-from=0.9 || die "nvm install 0.9.12 --reinstall-packages-from=0.9 failed"
|
nvm install 0.9.12 --reinstall-packages-from=0.9 || die "nvm install 0.9.12 --reinstall-packages-from=0.9 failed"
|
||||||
|
|
||||||
[ -d ../../v0.9.12 ] || die "nvm install 0.9.12 didn't install"
|
[ -d ../../../v0.9.12 ] || die "nvm install 0.9.12 didn't install"
|
||||||
|
|
||||||
nvm use 0.9
|
nvm use 0.9
|
||||||
node --version | grep v0.9.12 > /dev/null || die "nvm ls 0.9 didn't use v0.9.12"
|
node --version | grep v0.9.12 > /dev/null || die "nvm ls 0.9 didn't use v0.9.12"
|
6
test/installation/node/setup_dir
Executable file
6
test/installation/node/setup_dir
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ -f ".nvmrc" ]; then
|
||||||
|
mv .nvmrc .nvmrc.bak
|
||||||
|
fi
|
||||||
|
|
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
. ../../nvm.sh
|
. ../../../nvm.sh
|
||||||
nvm deactivate
|
nvm deactivate
|
||||||
nvm uninstall v0.10.7
|
nvm uninstall v0.10.7
|
||||||
|
|
@@ -7,8 +7,3 @@ die () { echo $@ ; exit 1; }
|
|||||||
nvm install 0.10
|
nvm install 0.10
|
||||||
|
|
||||||
[ "$(nvm current)" = "$(node -v)" ] || die "Failed to find current version: got \"$(nvm current)\", expected \"$(node -v)\""
|
[ "$(nvm current)" = "$(node -v)" ] || die "Failed to find current version: got \"$(nvm current)\", expected \"$(node -v)\""
|
||||||
|
|
||||||
nvm install 0.6.21
|
|
||||||
[ "$(node -v)" = "v0.6.21-pre" ] || die "v0.6.21-pre not installed with v0.6.21"
|
|
||||||
[ "$(nvm current)" = "v0.6.21" ] || die "v0.6.21-pre not reported as v0.6.21"
|
|
||||||
|
|
||||||
|
10
test/slow/node 0.6.21 should install 0.6.21-pre
Executable file
10
test/slow/node 0.6.21 should install 0.6.21-pre
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../nvm.sh
|
||||||
|
|
||||||
|
nvm install 0.6.21 || die 'v0.6.21 installation failed'
|
||||||
|
[ "_$(node -v)" = "_v0.6.21-pre" ] || die "v0.6.21-pre not installed with v0.6.21, got $(node -v)"
|
||||||
|
[ "_$(nvm current)" = "_v0.6.21" ] || die "v0.6.21-pre not reported as v0.6.21, got $(nvm current)"
|
||||||
|
|
14
test/slow/nvm use/Running "nvm use iojs" uses latest io.js version
Executable file
14
test/slow/nvm use/Running "nvm use iojs" uses latest io.js version
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
nvm deactivate 2>&1 >/dev/null || die 'deactivate failed'
|
||||||
|
|
||||||
|
nvm use iojs || die 'nvm use iojs failed'
|
||||||
|
OUTPUT="$(nvm current)"
|
||||||
|
EXPECTED_OUTPUT="iojs-v1.0.1"
|
||||||
|
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] \
|
||||||
|
|| die "'nvm use iojs' + 'nvm current' did not output '$EXPECTED_OUTPUT'; got '$OUTPUT'"
|
14
test/slow/nvm use/Running "nvm use node" uses latest stable node version
Executable file
14
test/slow/nvm use/Running "nvm use node" uses latest stable node version
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo $@ ; exit 1; }
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
nvm deactivate 2>&1 >/dev/null || die 'deactivate failed'
|
||||||
|
|
||||||
|
nvm use node || die 'nvm use node failed'
|
||||||
|
OUTPUT="$(nvm current)"
|
||||||
|
EXPECTED_OUTPUT="$(nvm_version stable)"
|
||||||
|
|
||||||
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] \
|
||||||
|
|| die "'nvm use node' + 'nvm current' did not output '$EXPECTED_OUTPUT'; got '$OUTPUT'"
|
16
test/slow/nvm use/setup_dir
Executable file
16
test/slow/nvm use/setup_dir
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
mkdir -p ../../../.nvm_use_bak
|
||||||
|
if [ -d "../../../v*" ]; then
|
||||||
|
mv "../../../v*" ../../../.nvm_use_bak/
|
||||||
|
fi
|
||||||
|
|
||||||
|
for VERSION in "0.8.7" "0.9.1" "0.10.1" "0.11.1"; do
|
||||||
|
nvm install "v$VERSION"
|
||||||
|
done
|
||||||
|
|
||||||
|
for VERSION in "1.0.0" "1.0.1"; do
|
||||||
|
nvm install "iojs-v$VERSION"
|
||||||
|
done
|
16
test/slow/nvm use/teardown_dir
Executable file
16
test/slow/nvm use/teardown_dir
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ../../../nvm.sh
|
||||||
|
|
||||||
|
for VERSION in "0.8.7" "0.9.1" "0.10.1" "0.11.1"; do
|
||||||
|
nvm uninstall "$VERSION"
|
||||||
|
done
|
||||||
|
|
||||||
|
for VERSION in "1.0.0" "1.0.1"; do
|
||||||
|
nvm uninstall "iojs-v$VERSION"
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -d ../../../.nvm_use_bak/* ]; then
|
||||||
|
mv ../../../.nvm_use_bak/* ../../../
|
||||||
|
fi
|
||||||
|
rmdir ../../../.nvm_use_bak
|
Reference in New Issue
Block a user