Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2176894a5b | ||
|
|
cf7d5d8042 | ||
|
|
7135873f80 | ||
|
|
dc9020b133 | ||
|
|
0eaa7e0bde | ||
|
|
06b81f0f36 | ||
|
|
8a20234586 | ||
|
|
44541b416f | ||
|
|
731c2f3f70 | ||
|
|
de64a2d95f | ||
|
|
77e0449c89 | ||
|
|
649e416017 | ||
|
|
754a0d7c5b | ||
|
|
f73bfb6578 | ||
|
|
f1bca106a8 | ||
|
|
560c8c9500 | ||
|
|
21c3727955 | ||
|
|
4fcf37fa29 | ||
|
|
e76fe61d95 | ||
|
|
00a8b36b78 | ||
|
|
1e1a005a53 | ||
|
|
1ba8a96ec9 | ||
|
|
4f4ff208eb | ||
|
|
78fee866f5 | ||
|
|
8dc53d4dd5 | ||
|
|
645bda4987 | ||
|
|
918fcb4bd2 | ||
|
|
cb138a1815 | ||
|
|
6094dac1c1 |
@@ -25,11 +25,11 @@ Homebrew installation is not supported.
|
||||
|
||||
To install or update nvm, you can use the [install script][2] using cURL:
|
||||
|
||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash
|
||||
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
|
||||
|
||||
or Wget:
|
||||
|
||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash
|
||||
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/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>
|
||||
|
||||
@@ -55,6 +55,16 @@ Add these lines to your `~/.bashrc`, `~/.profile`, or `~/.zshrc` file to have it
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
|
||||
### Manual upgrade
|
||||
|
||||
For manual upgrade with `git`, change to the `$NVM_DIR`, pull down the latest changes, and check out the latest version:
|
||||
|
||||
cd "$NVM_DIR" && git pull origin master && git checkout `git describe --abbrev=0 --tags`
|
||||
|
||||
After upgrading, don't forget to activate the new version:
|
||||
|
||||
. "$NVM_DIR/nvm.sh"
|
||||
|
||||
## Usage
|
||||
|
||||
You can create an `.nvmrc` file containing version number in the project root directory (or any parent directory).
|
||||
@@ -254,7 +264,7 @@ After the v0.8.6 release of node, nvm tries to install from binary packages. But
|
||||
If setting the `default` alias does not establish the node version in new shells (i.e. `nvm current` yields `system`), ensure that the system's node PATH is set before the `nvm.sh` source line in your shell profile (see [#658](https://github.com/creationix/nvm/issues/658))
|
||||
|
||||
[1]: https://github.com/creationix/nvm.git
|
||||
[2]: https://github.com/creationix/nvm/blob/v0.30.1/install.sh
|
||||
[2]: https://github.com/creationix/nvm/blob/v0.31.0/install.sh
|
||||
[3]: https://travis-ci.org/creationix/nvm
|
||||
[Urchin]: https://github.com/scraperwiki/urchin
|
||||
[Fish]: http://fishshell.com
|
||||
|
||||
20
install.sh
20
install.sh
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
{ # this ensures the entire script is downloaded #
|
||||
|
||||
@@ -11,7 +11,7 @@ if [ -z "$NVM_DIR" ]; then
|
||||
fi
|
||||
|
||||
nvm_latest_version() {
|
||||
echo "v0.30.1"
|
||||
echo "v0.31.0"
|
||||
}
|
||||
|
||||
#
|
||||
@@ -69,7 +69,7 @@ install_nvm_from_git() {
|
||||
mkdir -p "$NVM_DIR"
|
||||
command git clone "$(nvm_source git)" "$NVM_DIR"
|
||||
fi
|
||||
cd "$NVM_DIR" && command git checkout --quiet $(nvm_latest_version)
|
||||
cd "$NVM_DIR" && command git checkout --quiet "$(nvm_latest_version)"
|
||||
if [ ! -z "$(cd "$NVM_DIR" && git show-ref refs/heads/master)" ]; then
|
||||
if git branch --quiet 2>/dev/null; then
|
||||
cd "$NVM_DIR" && command git branch --quiet -D master >/dev/null 2>&1
|
||||
@@ -115,26 +115,28 @@ install_nvm_as_script() {
|
||||
# Otherwise, an empty string is returned
|
||||
#
|
||||
nvm_detect_profile() {
|
||||
if [ -n "$PROFILE" -a -f "$PROFILE" ]; then
|
||||
echo "$PROFILE"
|
||||
return
|
||||
fi
|
||||
|
||||
local DETECTED_PROFILE
|
||||
DETECTED_PROFILE=''
|
||||
local SHELLTYPE
|
||||
SHELLTYPE="$(basename /$SHELL)"
|
||||
SHELLTYPE="$(basename "/$SHELL")"
|
||||
|
||||
if [ $SHELLTYPE = "bash" ]; then
|
||||
if [ "$SHELLTYPE" = "bash" ]; then
|
||||
if [ -f "$HOME/.bashrc" ]; then
|
||||
DETECTED_PROFILE="$HOME/.bashrc"
|
||||
elif [ -f "$HOME/.bash_profile" ]; then
|
||||
DETECTED_PROFILE="$HOME/.bash_profile"
|
||||
fi
|
||||
elif [ $SHELLTYPE = "zsh" ]; then
|
||||
elif [ "$SHELLTYPE" = "zsh" ]; then
|
||||
DETECTED_PROFILE="$HOME/.zshrc"
|
||||
fi
|
||||
|
||||
if [ -z "$DETECTED_PROFILE" ]; then
|
||||
if [ -f "$PROFILE" ]; then
|
||||
DETECTED_PROFILE="$PROFILE"
|
||||
elif [ -f "$HOME/.profile" ]; then
|
||||
if [ -f "$HOME/.profile" ]; then
|
||||
DETECTED_PROFILE="$HOME/.profile"
|
||||
elif [ -f "$HOME/.bashrc" ]; then
|
||||
DETECTED_PROFILE="$HOME/.bashrc"
|
||||
|
||||
11
nvm-exec
11
nvm-exec
@@ -1,13 +1,14 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
DIR="$(command cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
source "$DIR/nvm.sh"
|
||||
. "$DIR/nvm.sh" --no-use
|
||||
|
||||
if [ -n "$NODE_VERSION" ]; then
|
||||
nvm use $NODE_VERSION > /dev/null || (echo "NODE_VERSION not set" >&2 && exit 127)
|
||||
else
|
||||
nvm use > /dev/null || (echo "No .nvmrc file found" >&2 && exit 127)
|
||||
nvm use $NODE_VERSION > /dev/null || exit 127
|
||||
elif ! nvm use >/dev/null 2>&1; then
|
||||
echo "No NODE_VERSION provided; no .nvmrc file found" >&2
|
||||
exit 127
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
|
||||
160
nvm.sh
160
nvm.sh
@@ -68,13 +68,16 @@ nvm_print_npm_version() {
|
||||
|
||||
# Make zsh glob matching behave same as bash
|
||||
# This fixes the "zsh: no matches found" errors
|
||||
if [ -z "${NVM_CD_FLAGS-}" ]; then
|
||||
export NVM_CD_FLAGS=''
|
||||
fi
|
||||
if nvm_has "unsetopt"; then
|
||||
unsetopt nomatch 2>/dev/null
|
||||
NVM_CD_FLAGS="-q"
|
||||
fi
|
||||
|
||||
# Auto detect the NVM_DIR when not set
|
||||
if [ -z "$NVM_DIR" ]; then
|
||||
if [ -z "${NVM_DIR-}" ]; then
|
||||
if [ -n "$BASH_SOURCE" ]; then
|
||||
NVM_SCRIPT_SOURCE="${BASH_SOURCE[0]}"
|
||||
fi
|
||||
@@ -85,7 +88,7 @@ unset NVM_SCRIPT_SOURCE 2> /dev/null
|
||||
|
||||
|
||||
# Setup mirror location if not already set
|
||||
if [ -z "$NVM_NODEJS_ORG_MIRROR" ]; then
|
||||
if [ -z "${NVM_NODEJS_ORG_MIRROR-}" ]; then
|
||||
export NVM_NODEJS_ORG_MIRROR="https://nodejs.org/dist"
|
||||
fi
|
||||
|
||||
@@ -336,10 +339,12 @@ nvm_ensure_version_prefix() {
|
||||
nvm_format_version() {
|
||||
local VERSION
|
||||
VERSION="$(nvm_ensure_version_prefix "$1")"
|
||||
if [ "_$(nvm_num_version_groups "$VERSION")" != "_3" ]; then
|
||||
local NUM_GROUPS
|
||||
NUM_GROUPS="$(nvm_num_version_groups "$VERSION")"
|
||||
if [ $NUM_GROUPS -lt 3 ]; then
|
||||
nvm_format_version "${VERSION%.}.0"
|
||||
else
|
||||
echo "$VERSION"
|
||||
echo "$VERSION" | cut -f1-3 -d.
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -529,7 +534,7 @@ nvm_strip_iojs_prefix() {
|
||||
|
||||
nvm_ls() {
|
||||
local PATTERN
|
||||
PATTERN="$1"
|
||||
PATTERN="${1-}"
|
||||
local VERSIONS
|
||||
VERSIONS=''
|
||||
if [ "$PATTERN" = 'current' ]; then
|
||||
@@ -659,7 +664,7 @@ nvm_ls() {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$NVM_ADD_SYSTEM" = true ]; then
|
||||
if [ "${NVM_ADD_SYSTEM-}" = true ]; then
|
||||
if [ -z "$PATTERN" ] || [ "_$PATTERN" = "_v" ]; then
|
||||
VERSIONS="$VERSIONS$(command printf '\n%s' 'system')"
|
||||
elif [ "$PATTERN" = 'system' ]; then
|
||||
@@ -700,6 +705,7 @@ nvm_ls_remote_index_tab() {
|
||||
local TYPE
|
||||
TYPE="$1"
|
||||
local PREFIX
|
||||
PREFIX=''
|
||||
case "$TYPE-$2" in
|
||||
iojs-std) PREFIX="$(nvm_iojs_prefix)-" ;;
|
||||
node-std) PREFIX='' ;;
|
||||
@@ -755,6 +761,7 @@ nvm_ls_remote_index_tab() {
|
||||
|
||||
nvm_checksum() {
|
||||
local NVM_CHECKSUM
|
||||
if [ -z "$3" ] || [ "$3" == "sha1" ]; then
|
||||
if nvm_has "sha1sum" && ! nvm_is_alias "sha1sum"; then
|
||||
NVM_CHECKSUM="$(command sha1sum "$1" | command awk '{print $1}')"
|
||||
elif nvm_has "sha1" && ! nvm_is_alias "sha1"; then
|
||||
@@ -765,6 +772,27 @@ nvm_checksum() {
|
||||
echo "Unaliased sha1sum, sha1, or shasum not found." >&2
|
||||
return 2
|
||||
fi
|
||||
else
|
||||
if nvm_has "sha256sum" && ! nvm_is_alias "sha256sum"; then
|
||||
NVM_CHECKSUM="$(sha256sum "$1" | awk '{print $1}')"
|
||||
elif nvm_has "shasum" && ! nvm_is_alias "shasum"; then
|
||||
NVM_CHECKSUM="$(shasum -a 256 "$1" | awk '{print $1}')"
|
||||
elif nvm_has "sha256" && ! nvm_is_alias "sha256"; then
|
||||
NVM_CHECKSUM="$(sha256 -q "$1" | awk '{print $1}')"
|
||||
elif nvm_has "gsha256sum" && ! nvm_is_alias "gsha256sum"; then
|
||||
NVM_CHECKSUM="$(gsha256sum "$1" | awk '{print $1}')"
|
||||
elif nvm_has "openssl" && ! nvm_is_alias "openssl"; then
|
||||
NVM_CHECKSUM="$(openssl dgst -sha256 "$1" | rev | awk '{print $1}' | rev)"
|
||||
elif nvm_has "libressl" && ! nvm_is_alias "libressl"; then
|
||||
NVM_CHECKSUM="$(libressl dgst -sha256 "$1" | rev | awk '{print $1}' | rev)"
|
||||
elif nvm_has "bssl" && ! nvm_is_alias "bssl"; then
|
||||
NVM_CHECKSUM="$(bssl sha256sum "$1" | awk '{print $1}')"
|
||||
else
|
||||
echo "Unaliased sha256sum, shasum, sha256, gsha256sum, openssl, libressl, or bssl not found." >&2
|
||||
echo "WARNING: Continuing *without checksum verification*" >&2
|
||||
return
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "_$NVM_CHECKSUM" = "_$2" ]; then
|
||||
return
|
||||
@@ -835,7 +863,7 @@ nvm_print_implicit_alias() {
|
||||
local NVM_ADD_PREFIX_COMMAND
|
||||
local LAST_TWO
|
||||
case "$NVM_IMPLICIT" in
|
||||
"$NVM_IOJS_PREFIX" | "$NVM_IOJS_RC_PREFIX")
|
||||
"$NVM_IOJS_PREFIX")
|
||||
NVM_COMMAND="nvm_ls_remote_iojs"
|
||||
NVM_ADD_PREFIX_COMMAND="nvm_add_iojs_prefix"
|
||||
if [ "_$1" = "_local" ]; then
|
||||
@@ -967,6 +995,34 @@ nvm_get_arch() {
|
||||
echo "$NVM_ARCH"
|
||||
}
|
||||
|
||||
nvm_get_minor_version() {
|
||||
local VERSION
|
||||
VERSION="$1"
|
||||
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo 'a version is required' >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
case "$VERSION" in
|
||||
v | .* | *..* | v*[!.0123456789]* | [!v]*[!.0123456789]* | [!v0123456789]* | v[!0123456789]*)
|
||||
echo 'invalid version number' >&2
|
||||
return 2
|
||||
;;
|
||||
esac
|
||||
|
||||
local PREFIXED_VERSION
|
||||
PREFIXED_VERSION="$(nvm_format_version "$VERSION")"
|
||||
|
||||
local MINOR
|
||||
MINOR="$(echo "$PREFIXED_VERSION" | command grep -e '^v' | command cut -c2- | command cut -d . -f 1,2)"
|
||||
if [ -z "$MINOR" ]; then
|
||||
echo 'invalid version number! (please report this)' >&2
|
||||
return 3
|
||||
fi
|
||||
echo "$MINOR"
|
||||
}
|
||||
|
||||
nvm_ensure_default_set() {
|
||||
local VERSION
|
||||
VERSION="$1"
|
||||
@@ -1047,8 +1103,7 @@ nvm_install_merged_node_binary() {
|
||||
fi
|
||||
if (
|
||||
[ "$NVM_INSTALL_ERRORED" != true ] && \
|
||||
echo "WARNING: checksums are currently disabled for node.js v4.0 and later" >&2 && \
|
||||
# nvm_checksum "$tmptarball" "$sum" && \
|
||||
nvm_checksum "$tmptarball" "$sum" "sha256" && \
|
||||
command tar -x${tar_compression_flag}f "$tmptarball" -C "$tmpdir" --strip-components 1 && \
|
||||
command rm -f "$tmptarball" && \
|
||||
command mkdir -p "$VERSION_PATH" && \
|
||||
@@ -1122,8 +1177,7 @@ nvm_install_iojs_binary() {
|
||||
fi
|
||||
if (
|
||||
[ "$NVM_INSTALL_ERRORED" != true ] && \
|
||||
echo "WARNING: checksums are currently disabled for io.js" >&2 && \
|
||||
# nvm_checksum "$tmptarball" "$sum" && \
|
||||
nvm_checksum "$tmptarball" "$sum" "sha256" && \
|
||||
command tar -x${tar_compression_flag}f "$tmptarball" -C "$tmpdir" --strip-components 1 && \
|
||||
command rm -f "$tmptarball" && \
|
||||
command mkdir -p "$VERSION_PATH" && \
|
||||
@@ -1146,7 +1200,7 @@ nvm_install_node_binary() {
|
||||
local REINSTALL_PACKAGES_FROM
|
||||
REINSTALL_PACKAGES_FROM="$2"
|
||||
|
||||
if nvm_is_iojs_version "$PREFIXED_VERSION"; then
|
||||
if nvm_is_iojs_version "$VERSION"; then
|
||||
echo 'nvm_install_node_binary does not allow an iojs-prefixed version.' >&2
|
||||
return 10
|
||||
fi
|
||||
@@ -1201,11 +1255,11 @@ nvm_install_node_binary() {
|
||||
}
|
||||
|
||||
nvm_get_make_jobs() {
|
||||
if nvm_is_natural_num "$1"; then
|
||||
if nvm_is_natural_num "${1-}"; then
|
||||
NVM_MAKE_JOBS="$1"
|
||||
echo "number of \`make\` jobs: $NVM_MAKE_JOBS"
|
||||
return
|
||||
elif [ -n "$1" ]; then
|
||||
elif [ -n "${1-}" ]; then
|
||||
unset NVM_MAKE_JOBS
|
||||
echo >&2 "$1 is invalid for number of \`make\` jobs, must be a natural number"
|
||||
fi
|
||||
@@ -1290,9 +1344,9 @@ nvm_install_node_source() {
|
||||
command tar -xzf "$tmptarball" -C "$tmpdir" && \
|
||||
cd "$tmpdir/node-$VERSION" && \
|
||||
./configure --prefix="$VERSION_PATH" $ADDITIONAL_PARAMETERS && \
|
||||
$make -j $NVM_MAKE_JOBS $MAKE_CXX && \
|
||||
$make -j $NVM_MAKE_JOBS ${MAKE_CXX-} && \
|
||||
command rm -f "$VERSION_PATH" 2>/dev/null && \
|
||||
$make -j $NVM_MAKE_JOBS $MAKE_CXX install
|
||||
$make -j $NVM_MAKE_JOBS ${MAKE_CXX-} install
|
||||
)
|
||||
then
|
||||
if ! nvm_has "npm" ; then
|
||||
@@ -1371,14 +1425,14 @@ nvm_die_on_prefix() {
|
||||
return 2
|
||||
fi
|
||||
|
||||
if [ -n "$PREFIX" ] && ! (nvm_tree_contains_path "$NVM_DIR" "$PREFIX" >/dev/null 2>&1); then
|
||||
if [ -n "${PREFIX-}" ] && ! (nvm_tree_contains_path "$NVM_DIR" "$PREFIX" >/dev/null 2>&1); then
|
||||
nvm deactivate >/dev/null 2>&1
|
||||
echo >&2 "nvm is not compatible with the \"PREFIX\" environment variable: currently set to \"$PREFIX\""
|
||||
echo >&2 "Run \`unset PREFIX\` to unset it."
|
||||
return 3
|
||||
fi
|
||||
|
||||
if [ -n "$NPM_CONFIG_PREFIX" ] && ! (nvm_tree_contains_path "$NVM_DIR" "$NPM_CONFIG_PREFIX" >/dev/null 2>&1); then
|
||||
if [ -n "${NPM_CONFIG_PREFIX-}" ] && ! (nvm_tree_contains_path "$NVM_DIR" "$NPM_CONFIG_PREFIX" >/dev/null 2>&1); then
|
||||
nvm deactivate >/dev/null 2>&1
|
||||
echo >&2 "nvm is not compatible with the \"NPM_CONFIG_PREFIX\" environment variable: currently set to \"$NPM_CONFIG_PREFIX\""
|
||||
echo >&2 "Run \`unset NPM_CONFIG_PREFIX\` to unset it."
|
||||
@@ -1546,6 +1600,7 @@ nvm() {
|
||||
|
||||
"debug" )
|
||||
local ZHS_HAS_SHWORDSPLIT_UNSET
|
||||
ZHS_HAS_SHWORDSPLIT_UNSET=1
|
||||
if nvm_has "setopt"; then
|
||||
ZHS_HAS_SHWORDSPLIT_UNSET=$(setopt | command grep shwordsplit > /dev/null ; echo $?)
|
||||
setopt shwordsplit
|
||||
@@ -1675,6 +1730,7 @@ nvm() {
|
||||
if nvm use "$VERSION" && [ ! -z "$REINSTALL_PACKAGES_FROM" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then
|
||||
nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
|
||||
fi
|
||||
nvm_ensure_default_set "$provided_version"
|
||||
return $?
|
||||
fi
|
||||
|
||||
@@ -1701,6 +1757,9 @@ nvm() {
|
||||
fi
|
||||
fi
|
||||
if [ "$NVM_INSTALL_SUCCESS" != true ]; then
|
||||
if [ -z "${NVM_MAKE_JOBS-}" ]; then
|
||||
nvm_get_make_jobs
|
||||
fi
|
||||
if [ "$NVM_IOJS" != true ] && [ "$NVM_NODE_MERGED" != true ]; then
|
||||
if nvm_install_node_source "$VERSION" "$NVM_MAKE_JOBS" "$ADDITIONAL_PARAMETERS"; then
|
||||
NVM_INSTALL_SUCCESS=true
|
||||
@@ -1717,6 +1776,7 @@ nvm() {
|
||||
fi
|
||||
|
||||
if [ "$NVM_INSTALL_SUCCESS" = true ] && nvm use "$VERSION"; then
|
||||
nvm_ensure_default_set "$provided_version"
|
||||
if [ ! -z "$REINSTALL_PACKAGES_FROM" ] \
|
||||
&& [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then
|
||||
nvm reinstall-packages "$REINSTALL_PACKAGES_FROM"
|
||||
@@ -1793,6 +1853,7 @@ nvm() {
|
||||
echo "$NVM_DIR/*/bin removed from \$PATH"
|
||||
fi
|
||||
|
||||
if [ -n "${MANPATH-}" ]; then
|
||||
NEWPATH="$(nvm_strip_path "$MANPATH" "/share/man")"
|
||||
if [ "_$MANPATH" = "_$NEWPATH" ]; then
|
||||
echo "Could not find $NVM_DIR/*/share/man in \$MANPATH" >&2
|
||||
@@ -1800,12 +1861,15 @@ nvm() {
|
||||
export MANPATH="$NEWPATH"
|
||||
echo "$NVM_DIR/*/share/man removed from \$MANPATH"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${NODE_PATH-}" ]; then
|
||||
NEWPATH="$(nvm_strip_path "$NODE_PATH" "/lib/node_modules")"
|
||||
if [ "_$NODE_PATH" != "_$NEWPATH" ]; then
|
||||
export NODE_PATH="$NEWPATH"
|
||||
echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
"use" )
|
||||
local PROVIDED_VERSION
|
||||
@@ -1897,7 +1961,7 @@ nvm() {
|
||||
hash -r
|
||||
export NVM_PATH="$NVM_VERSION_DIR/lib/node"
|
||||
export NVM_BIN="$NVM_VERSION_DIR/bin"
|
||||
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"
|
||||
fi
|
||||
local NVM_USE_OUTPUT
|
||||
@@ -2056,7 +2120,7 @@ nvm() {
|
||||
"ls" | "list" )
|
||||
local NVM_LS_OUTPUT
|
||||
local NVM_LS_EXIT_CODE
|
||||
NVM_LS_OUTPUT=$(nvm_ls "$2")
|
||||
NVM_LS_OUTPUT=$(nvm_ls "${2-}")
|
||||
NVM_LS_EXIT_CODE=$?
|
||||
nvm_print_versions "$NVM_LS_OUTPUT"
|
||||
if [ $# -eq 1 ]; then
|
||||
@@ -2066,7 +2130,7 @@ nvm() {
|
||||
;;
|
||||
"ls-remote" | "list-remote" )
|
||||
local PATTERN
|
||||
PATTERN="$2"
|
||||
PATTERN="${2-}"
|
||||
local NVM_IOJS_PREFIX
|
||||
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||
local NVM_NODE_PREFIX
|
||||
@@ -2171,7 +2235,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | command grep -v "N/A" | command sed '/^$/d'
|
||||
command mkdir -p "$NVM_ALIAS_DIR"
|
||||
if [ $# -le 2 ]; then
|
||||
local DEST
|
||||
for ALIAS_PATH in "$NVM_ALIAS_DIR"/"$2"*; do
|
||||
for ALIAS_PATH in "$NVM_ALIAS_DIR"/"${2-}"*; do
|
||||
ALIAS="$(command basename "$ALIAS_PATH")"
|
||||
DEST="$(nvm_alias "$ALIAS" 2> /dev/null)"
|
||||
if [ -n "$DEST" ]; then
|
||||
@@ -2201,7 +2265,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | command grep -v "N/A" | command sed '/^$/d'
|
||||
done
|
||||
return
|
||||
fi
|
||||
if [ -z "$3" ]; then
|
||||
if [ -z "${3-}" ]; then
|
||||
command rm -f "$NVM_ALIAS_DIR/$2"
|
||||
echo "$2 -> *poof*"
|
||||
return
|
||||
@@ -2288,7 +2352,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | command grep -v "N/A" | command sed '/^$/d'
|
||||
nvm_remote_version "$2"
|
||||
;;
|
||||
"--version" )
|
||||
echo "0.30.1"
|
||||
echo "0.31.0"
|
||||
;;
|
||||
"unload" )
|
||||
unset -f nvm nvm_print_versions nvm_checksum \
|
||||
@@ -2313,7 +2377,8 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | command grep -v "N/A" | command sed '/^$/d'
|
||||
nvm_print_npm_version nvm_npm_global_modules \
|
||||
nvm_has_system_node nvm_has_system_iojs \
|
||||
nvm_download nvm_get_latest nvm_has nvm_get_latest \
|
||||
nvm_supports_source_options nvm_supports_xz > /dev/null 2>&1
|
||||
nvm_supports_source_options nvm_auto nvm_supports_xz \
|
||||
nvm_process_parameters > /dev/null 2>&1
|
||||
unset RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_DIR NVM_CD_FLAGS > /dev/null 2>&1
|
||||
;;
|
||||
* )
|
||||
@@ -2331,17 +2396,46 @@ nvm_supports_xz() {
|
||||
command which xz >/dev/null 2>&1 && nvm_version_greater_than_or_equal_to "$1" "2.3.2"
|
||||
}
|
||||
|
||||
NVM_VERSION="$(nvm_alias default 2>/dev/null || echo)"
|
||||
if nvm_supports_source_options && [ "$#" -gt 0 ] && [ "_$1" = "_--install" ]; then
|
||||
if [ -n "$NVM_VERSION" ]; then
|
||||
nvm install "$NVM_VERSION" >/dev/null
|
||||
nvm_auto() {
|
||||
local NVM_MODE
|
||||
NVM_MODE="${1-}"
|
||||
local VERSION
|
||||
if [ "_$NVM_MODE" = '_install' ]; then
|
||||
VERSION="$(nvm_alias default 2>/dev/null || echo)"
|
||||
if [ -n "$VERSION" ]; then
|
||||
nvm install "$VERSION" >/dev/null
|
||||
elif nvm_rc_version >/dev/null 2>&1; then
|
||||
nvm install >/dev/null
|
||||
fi
|
||||
elif [ -n "$NVM_VERSION" ]; then
|
||||
nvm use --silent "$NVM_VERSION" >/dev/null
|
||||
elif nvm_rc_version >/dev/null 2>&1; then
|
||||
elif [ "_$NVM_MODE" = '_use' ]; then
|
||||
VERSION="$(nvm_alias default 2>/dev/null || echo)"
|
||||
if [ -n "$VERSION" ]; then
|
||||
nvm use --silent "$VERSION" >/dev/null
|
||||
elif nvm_rc_version >/dev/null 2>&1; then
|
||||
nvm use --silent >/dev/null
|
||||
fi
|
||||
fi
|
||||
elif [ "_$NVM_MODE" != '_none' ]; then
|
||||
echo >&2 'Invalid auto mode supplied.'
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
nvm_process_parameters() {
|
||||
local NVM_AUTO_MODE
|
||||
NVM_AUTO_MODE='use'
|
||||
if nvm_supports_source_options; then
|
||||
while [ $# -ne 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
--install) NVM_AUTO_MODE='install' ;;
|
||||
--no-use) NVM_AUTO_MODE='none' ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
fi
|
||||
nvm_auto "$NVM_AUTO_MODE"
|
||||
}
|
||||
|
||||
nvm_process_parameters "$@"
|
||||
|
||||
} # this ensures the entire script is downloaded #
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "nvm",
|
||||
"version": "0.30.1",
|
||||
"version": "0.31.0",
|
||||
"description": "Node Version Manager - Simple bash script to manage multiple active node.js versions",
|
||||
"directories": {
|
||||
"test": "test"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
export NVM_SYMLINK_CURRENT=true
|
||||
. ../../nvm.sh
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
. ../../nvm.sh
|
||||
|
||||
|
||||
5
test/fast/Sourcing nvm.sh should not modify parameters of caller
Executable file
5
test/fast/Sourcing nvm.sh should not modify parameters of caller
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -- yes
|
||||
. ../../nvm.sh
|
||||
[ "$1" = yes ]
|
||||
@@ -4,11 +4,18 @@ die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
OUTPUT="$(nvm_format_version 0.1.2)"
|
||||
INPUT="0.1.2"
|
||||
OUTPUT="$(nvm_format_version "$INPUT")"
|
||||
EXPECTED_OUTPUT="v0.1.2"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_format_version 0.1.2 did not return $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_format_version $INPUT did not return $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
||||
OUTPUT="$(nvm_format_version 0.1)"
|
||||
INPUT="0.1"
|
||||
OUTPUT="$(nvm_format_version "$INPUT")"
|
||||
EXPECTED_OUTPUT="v0.1.0"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_format_version 0.1.0 did not return $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_format_version $INPUT did not return $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
||||
INPUT="1.2.3.4.5"
|
||||
OUTPUT="$(nvm_format_version "$INPUT")"
|
||||
EXPECTED_OUTPUT="v1.2.3"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_format_version $INPUT did not return $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
||||
|
||||
45
test/fast/Unit tests/nvm_get_minor_version
Executable file
45
test/fast/Unit tests/nvm_get_minor_version
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
expect () {
|
||||
INPUT="$1"
|
||||
EXPECTED_OUTPUT="$2"
|
||||
|
||||
OUTPUT="$(nvm_get_minor_version "$INPUT")"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_minor_version $INPUT did not return $EXPECTED_OUTPUT; got $OUTPUT"
|
||||
|
||||
V_OUTPUT="$(nvm_get_minor_version "v$INPUT")"
|
||||
[ "_$V_OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_minor_version v$INPUT did not return $EXPECTED_OUTPUT; got $V_OUTPUT"
|
||||
}
|
||||
|
||||
fail_with () {
|
||||
INPUT="$1"
|
||||
EXPECTED_CODE="$2"
|
||||
|
||||
EXIT_CODE="$(nvm_get_minor_version "$INPUT" >/dev/null 2>&1; echo $?)"
|
||||
[ "_$EXIT_CODE" = "_$EXPECTED_CODE" ] || die "nvm_get_minor_version "$INPUT" did not fail with code "$EXPECTED_CODE"; got $EXIT_CODE"
|
||||
}
|
||||
|
||||
expect 1 1.0
|
||||
expect 1. 1.0
|
||||
expect 1.2 1.2
|
||||
expect 1.2. 1.2
|
||||
expect 1.2.3 1.2
|
||||
expect 1.2.3. 1.2
|
||||
expect 1.2.3.4 1.2
|
||||
|
||||
fail_with '' 1
|
||||
fail_with '.' 2
|
||||
fail_with '..' 2
|
||||
fail_with v 2
|
||||
fail_with .a 2
|
||||
fail_with .1 2
|
||||
fail_with v.1 2
|
||||
fail_with a.b 2
|
||||
fail_with 1.a 2
|
||||
fail_with a.1 2
|
||||
fail_with v1.a 2
|
||||
fail_with va.1 2
|
||||
@@ -1,101 +1,111 @@
|
||||
#!/bin/sh
|
||||
|
||||
cleanup () {
|
||||
unset -f setup cleanup die
|
||||
unset _PROFILE
|
||||
rm -f .bashrc .bash_profile .zshrc .profile test_profile > /dev/null 2>&1
|
||||
}
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
|
||||
NVM_ENV=testing . ../../install.sh
|
||||
|
||||
setup () {
|
||||
touch .bashrc
|
||||
touch .bash_profile
|
||||
touch .zshrc
|
||||
touch .profile
|
||||
touch test_profile
|
||||
HOME="."
|
||||
NVM_ENV=testing . ../../install.sh
|
||||
touch ".bashrc"
|
||||
touch ".bash_profile"
|
||||
touch ".zshrc"
|
||||
touch ".profile"
|
||||
touch "test_profile"
|
||||
}
|
||||
|
||||
#Let's hack $HOME
|
||||
HOME="."
|
||||
cleanup () {
|
||||
unset HOME
|
||||
unset NVM_ENV
|
||||
unset NVM_DETECT_PROFILE
|
||||
unset -f setup cleanup die
|
||||
rm -f ".bashrc" ".bash_profile" ".zshrc" ".profile" "test_profile" > "/dev/null" 2>&1
|
||||
}
|
||||
|
||||
die () { echo "$@" '$NVM_DETECT_PROFILE:' "$NVM_DETECT_PROFILE"; cleanup; exit 1; }
|
||||
|
||||
setup
|
||||
|
||||
#Let's force $SHELL to be bash
|
||||
SHELL="/bin/bash"
|
||||
#
|
||||
# Confirm profile detection via $SHELL works and that $PROFILE overrides profile detection
|
||||
#
|
||||
|
||||
# $SHELL is set to bash and .bashrc is there, it must be detected
|
||||
_PROFILE=$(nvm_detect_profile)
|
||||
[ "_$_PROFILE" = "_$HOME/.bashrc" ] || echo "_\$HOME/.bashrc: _$HOME/.bashrc\n" \
|
||||
echo "_\$_PROFILE: _$_PROFILE\n" \
|
||||
die "nvm_detect_profile didn't pick $SHELL and $HOME/.bashrc"
|
||||
# .bashrc should be detected for bash
|
||||
NVM_DETECT_PROFILE="$(SHELL="/bin/bash"; unset PROFILE; nvm_detect_profile)"
|
||||
if [ "$NVM_DETECT_PROFILE" != "$HOME/.bashrc" ]; then
|
||||
die "nvm_detect_profile didn't pick \$HOME/.bashrc for bash"
|
||||
fi
|
||||
|
||||
#Let's force $SHELL to be zsh
|
||||
SHELL="/usr/bin/zsh"
|
||||
# $PROFILE should override .bashrc profile detection
|
||||
NVM_DETECT_PROFILE="$(SHELL="/bin/bash"; PROFILE="test_profile"; nvm_detect_profile)"
|
||||
if [ "$NVM_DETECT_PROFILE" != "test_profile" ]; then
|
||||
die "nvm_detect_profile ignored \$PROFILE"
|
||||
fi
|
||||
|
||||
# $SHELL is set to zsh and .zshrc is there, it must be detected
|
||||
_PROFILE=$(nvm_detect_profile)
|
||||
[ "_$_PROFILE" = "_$HOME/.zshrc" ] || echo "_\$HOME/.zshrc: _$HOME/.zshrc\n" \
|
||||
echo "_\$_PROFILE: _$_PROFILE\n" \
|
||||
die "nvm_detect_profile didn't pick $SHELL and $HOME/.zshrc"
|
||||
# .zshrc should be detected for zsh
|
||||
NVM_DETECT_PROFILE="$(SHELL="/usr/bin/zsh"; unset PROFILE; nvm_detect_profile)"
|
||||
if [ "$NVM_DETECT_PROFILE" != "$HOME/.zshrc" ]; then
|
||||
die "nvm_detect_profile didn't pick \$HOME/.zshrc for zsh"
|
||||
fi
|
||||
|
||||
# $PROFILE should override .zshrc profile detection
|
||||
NVM_DETECT_PROFILE="$(SHELL="/usr/bin/zsh"; PROFILE="test_profile"; nvm_detect_profile)"
|
||||
if [ "$NVM_DETECT_PROFILE" != "test_profile" ]; then
|
||||
die "nvm_detect_profile ignored \$PROFILE"
|
||||
fi
|
||||
|
||||
|
||||
# if we unset shell it looks for the files
|
||||
unset SHELL
|
||||
#
|
||||
# Confirm $PROFILE is only returned when it points to a valid file
|
||||
#
|
||||
|
||||
# $PROFILE points to a valid file, its path must be returned
|
||||
PROFILE="test_profile"
|
||||
_PROFILE=$(nvm_detect_profile)
|
||||
[ "_$_PROFILE" = "_$PROFILE" ] || echo "_\$_PROFILE: _$_PROFILE\n" \
|
||||
echo "_\$PROFILE: _$PROFILE\n" \
|
||||
die "nvm_detect_profile didn't pick \$PROFILE"
|
||||
# $PROFILE is a valid file
|
||||
NVM_DETECT_PROFILE="$(PROFILE="test_profile"; nvm_detect_profile)"
|
||||
if [ "$NVM_DETECT_PROFILE" != "test_profile" ]; then
|
||||
die "nvm_detect_profile didn't pick \$PROFILE when it was a valid file"
|
||||
fi
|
||||
|
||||
# $PROFILE doesn't point to a valid file, its path must not be returned
|
||||
PROFILE="invalid_profile"
|
||||
_PROFILE=$(nvm_detect_profile)
|
||||
[ "_$_PROFILE" != "_$PROFILE" ] || echo "_\$_PROFILE: _$_PROFILE\n" \
|
||||
echo "_\$PROFILE: _$PROFILE\n" \
|
||||
die "nvm_detect_profile shouldn't pick \$PROFILE when it's not a valid file"
|
||||
# $PROFILE is not a valid file
|
||||
rm "test_profile"
|
||||
NVM_DETECT_PROFILE="$(PROFILE="test_profile"; nvm_detect_profile)"
|
||||
if [ "$NVM_DETECT_PROFILE" = "test_profile" ]; then
|
||||
die "nvm_detect_profile picked \$PROFILE when it was an invalid file"
|
||||
fi
|
||||
|
||||
|
||||
# Below are tests for when $PROFILE is undefined
|
||||
rm test_profile
|
||||
unset PROFILE
|
||||
#
|
||||
# When profile detection fails via both $PROFILE and $SHELL, profile detection should select based on the existence of
|
||||
# one of the following files is the following order: .profile, .bashrc, .bash_profile, .zshrc and
|
||||
# return an empty value if everything fails
|
||||
#
|
||||
|
||||
# It should favor .profile if file exists
|
||||
_PROFILE=$(nvm_detect_profile)
|
||||
[ "_$_PROFILE" = "_$HOME/.profile" ] || echo "_\$_PROFILE: _$_PROFILE\n" \
|
||||
echo "_\$PROFILE: _$PROFILE\n" \
|
||||
NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)"
|
||||
if [ "$NVM_DETECT_PROFILE" != "$HOME/.profile" ]; then
|
||||
die "nvm_detect_profile should have selected .profile"
|
||||
fi
|
||||
|
||||
rm .profile
|
||||
# Otherwise, it should favor .bashrc if file exists
|
||||
_PROFILE=$(nvm_detect_profile)
|
||||
[ "_$_PROFILE" = "_$HOME/.bashrc" ] || echo "_\$_PROFILE: _$_PROFILE\n" \
|
||||
echo "_\$PROFILE: _$PROFILE\n" \
|
||||
rm ".profile"
|
||||
NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)"
|
||||
if [ "$NVM_DETECT_PROFILE" != "$HOME/.bashrc" ]; then
|
||||
die "nvm_detect_profile should have selected .bashrc"
|
||||
fi
|
||||
|
||||
rm .bashrc
|
||||
# Otherwise, it should favor .bash_profile if file exists
|
||||
_PROFILE=$(nvm_detect_profile)
|
||||
[ "_$_PROFILE" = "_$HOME/.bash_profile" ] || echo "_\$_PROFILE: _$_PROFILE\n" \
|
||||
echo "_\$PROFILE: _$PROFILE\n" \
|
||||
rm ".bashrc"
|
||||
NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)"
|
||||
if [ "$NVM_DETECT_PROFILE" != "$HOME/.bash_profile" ]; then
|
||||
die "nvm_detect_profile should have selected .bash_profile"
|
||||
fi
|
||||
|
||||
rm .bash_profile
|
||||
# Otherwise, it should favor .zshrc if file exists
|
||||
_PROFILE=$(nvm_detect_profile)
|
||||
[ "_$_PROFILE" = "_$HOME/.zshrc" ] || echo "_\$_PROFILE: _$_PROFILE\n" \
|
||||
echo "_\$PROFILE: _$PROFILE\n" \
|
||||
rm ".bash_profile"
|
||||
NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)"
|
||||
if [ "$NVM_DETECT_PROFILE" != "$HOME/.zshrc" ]; then
|
||||
die "nvm_detect_profile should have selected .zshrc"
|
||||
fi
|
||||
|
||||
rm .zshrc
|
||||
# It should be empty if none is found
|
||||
_PROFILE=$(nvm_detect_profile)
|
||||
[ -z "$_PROFILE" ] || echo "_\$_PROFILE: _$_PROFILE\n" \
|
||||
echo "_\$PROFILE: _$PROFILE\n" \
|
||||
die "nvm_detect_profile should have echo'ed an empty value"
|
||||
|
||||
rm ".zshrc"
|
||||
NVM_DETECT_PROFILE="$(unset SHELL; nvm_detect_profile)"
|
||||
if [ ! -z "$NVM_DETECT_PROFILE" ]; then
|
||||
die "nvm_detect_profile should have returned an empty value"
|
||||
fi
|
||||
|
||||
cleanup
|
||||
|
||||
@@ -4,6 +4,8 @@ die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm unalias default || die 'unable to unalias default'
|
||||
|
||||
NVM_TEST_VERSION=v0.10.7
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
@@ -16,3 +18,6 @@ nvm install $NVM_TEST_VERSION || die "install $NVM_TEST_VERSION failed"
|
||||
[ -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"
|
||||
|
||||
# ensure default is set
|
||||
NVM_CURRENT_DEFAULT="$(nvm_alias default)"
|
||||
[ "$NVM_CURRENT_DEFAULT" = "$NVM_TEST_VERSION" ] || die "wrong default alias: $(nvm alias)"
|
||||
|
||||
@@ -4,6 +4,8 @@ die () { echo $@ ; exit 1; }
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
nvm unalias default || die 'unable to unalias default'
|
||||
|
||||
NVM_TEST_VERSION=v0.10.7
|
||||
|
||||
# Remove the stuff we're clobbering.
|
||||
@@ -16,3 +18,6 @@ nvm install -s $NVM_TEST_VERSION || die "'nvm install -s $NVM_TEST_VERSION' fail
|
||||
[ -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"
|
||||
|
||||
# ensure default is set
|
||||
NVM_CURRENT_DEFAULT="$(nvm_alias default)"
|
||||
[ "$NVM_CURRENT_DEFAULT" = "$NVM_TEST_VERSION" ] || die "wrong default alias: $(nvm alias)"
|
||||
|
||||
32
test/sourcing/Sourcing nvm.sh with --no-use should not use anything
Executable file
32
test/sourcing/Sourcing nvm.sh with --no-use should not use anything
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; exit 1; }
|
||||
supports_source_options () {
|
||||
[ "_$(echo 'echo $1' | . /dev/stdin yes)" = "_yes" ]
|
||||
}
|
||||
|
||||
if ! supports_source_options; then
|
||||
echo 'this shell does not support passing options on sourcing'
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
. ../../nvm.sh
|
||||
nvm install 4.1.0 || die 'install of v4.1.0 failed'
|
||||
nvm_version 4.1.0 >/dev/null 2>&1 || die "v4.1.0 not installed: $(nvm ls)"
|
||||
nvm deactivate || die 'nvm deactivate failed'
|
||||
|
||||
NVM_CURRENT="$(nvm current)"
|
||||
[ "_$NVM_CURRENT" = '_none' ] || [ "_$NVM_CURRENT" = '_system' ] || die "'nvm current' did not return 'none' or 'system', got '$NVM_CURRENT' `nvm ls`"
|
||||
|
||||
nvm unload || die 'nvm unload failed'
|
||||
|
||||
. ../../nvm.sh --no-use
|
||||
EXIT_CODE="$(echo $?)"
|
||||
|
||||
echo 'sourcing complete.'
|
||||
|
||||
[ "_$EXIT_CODE" = "_0" ] || die "sourcing returned nonzero exit code: $EXIT_CODE"
|
||||
|
||||
NVM_CURRENT="$(nvm current)"
|
||||
[ "_$NVM_CURRENT" = '_none' ] || [ "_$NVM_CURRENT" = '_system' ] || die "'nvm current' did not return 'none' or 'system', got '$NVM_CURRENT' `nvm ls`"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
mkdir -p ../../alias
|
||||
rm -rf ../../alias/default
|
||||
rm -f ../../.nvmrc
|
||||
rm -rf ../../v0.10.7
|
||||
rm -rf ../../v0.9.7
|
||||
@@ -8,5 +9,6 @@ rm -rf ../../v0.9.12
|
||||
|
||||
. ../../nvm.sh
|
||||
nvm install 0.10.1 || echo >&2 'nvm install 0.10.1 failed'
|
||||
nvm unalias default || 'removing default alias failed'
|
||||
nvm unload || echo >&2 'nvm unload failed'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user