|
|
|
|
@@ -78,7 +78,7 @@ if [ -z "$NVM_DIR" ]; then
|
|
|
|
|
if [ -n "$BASH_SOURCE" ]; then
|
|
|
|
|
NVM_SCRIPT_SOURCE="${BASH_SOURCE[0]}"
|
|
|
|
|
fi
|
|
|
|
|
export NVM_DIR=$(cd $NVM_CD_FLAGS $(dirname "${NVM_SCRIPT_SOURCE:-$0}") > /dev/null && \pwd)
|
|
|
|
|
export NVM_DIR="$(cd $NVM_CD_FLAGS $(dirname "${NVM_SCRIPT_SOURCE:-$0}") > /dev/null && \pwd)"
|
|
|
|
|
fi
|
|
|
|
|
unset NVM_SCRIPT_SOURCE 2> /dev/null
|
|
|
|
|
|
|
|
|
|
@@ -221,7 +221,7 @@ nvm_ensure_version_installed() {
|
|
|
|
|
# Expand a version using the version cache
|
|
|
|
|
nvm_version() {
|
|
|
|
|
local PATTERN
|
|
|
|
|
PATTERN=$1
|
|
|
|
|
PATTERN="$1"
|
|
|
|
|
local VERSION
|
|
|
|
|
# The default version is the current one
|
|
|
|
|
if [ -z "$PATTERN" ]; then
|
|
|
|
|
@@ -398,7 +398,7 @@ nvm_alias() {
|
|
|
|
|
return 2
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
cat "$NVM_ALIAS_PATH"
|
|
|
|
|
command cat "$NVM_ALIAS_PATH"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
nvm_ls_current() {
|
|
|
|
|
@@ -592,39 +592,51 @@ nvm_ls() {
|
|
|
|
|
setopt shwordsplit
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
local NVM_DIRS_TO_TEST_AND_SEARCH
|
|
|
|
|
local NVM_DIRS_TO_SEARCH
|
|
|
|
|
local NVM_DIRS_TO_SEARCH1
|
|
|
|
|
NVM_DIRS_TO_SEARCH1=''
|
|
|
|
|
local NVM_DIRS_TO_SEARCH2
|
|
|
|
|
NVM_DIRS_TO_SEARCH2=''
|
|
|
|
|
local NVM_DIRS_TO_SEARCH3
|
|
|
|
|
NVM_DIRS_TO_SEARCH3=''
|
|
|
|
|
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"
|
|
|
|
|
NVM_DIRS_TO_SEARCH1="$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"
|
|
|
|
|
NVM_DIRS_TO_SEARCH1="$NVM_VERSION_DIR_OLD"
|
|
|
|
|
NVM_DIRS_TO_SEARCH2="$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"
|
|
|
|
|
NVM_DIRS_TO_SEARCH1="$NVM_VERSION_DIR_OLD"
|
|
|
|
|
NVM_DIRS_TO_SEARCH2="$NVM_VERSION_DIR_NEW"
|
|
|
|
|
NVM_DIRS_TO_SEARCH3="$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
|
|
|
|
|
if [ -d "$NVM_VERSION_DIR" ]; then
|
|
|
|
|
NVM_DIRS_TO_SEARCH="$NVM_VERSION_DIR $NVM_DIRS_TO_SEARCH"
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
if ! [ -d "$NVM_DIRS_TO_SEARCH1" ]; then
|
|
|
|
|
NVM_DIRS_TO_SEARCH1=''
|
|
|
|
|
fi
|
|
|
|
|
if ! [ -d "$NVM_DIRS_TO_SEARCH2" ]; then
|
|
|
|
|
NVM_DIRS_TO_SEARCH2="$NVM_DIRS_TO_SEARCH1"
|
|
|
|
|
fi
|
|
|
|
|
if ! [ -d "$NVM_DIRS_TO_SEARCH3" ]; then
|
|
|
|
|
NVM_DIRS_TO_SEARCH3="$NVM_DIRS_TO_SEARCH2"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -z "$PATTERN" ]; then
|
|
|
|
|
PATTERN='v'
|
|
|
|
|
fi
|
|
|
|
|
if [ -n "$NVM_DIRS_TO_SEARCH" ]; then
|
|
|
|
|
VERSIONS="$(command find $NVM_DIRS_TO_SEARCH -maxdepth 1 -type d -name "$PATTERN*" \
|
|
|
|
|
if [ -n "$NVM_DIRS_TO_SEARCH1$NVM_DIRS_TO_SEARCH2$NVM_DIRS_TO_SEARCH3" ]; then
|
|
|
|
|
VERSIONS="$(command find "$NVM_DIRS_TO_SEARCH1" "$NVM_DIRS_TO_SEARCH2" "$NVM_DIRS_TO_SEARCH3" -maxdepth 1 -type d -name "$PATTERN*" \
|
|
|
|
|
| command sed "
|
|
|
|
|
s#$NVM_VERSION_DIR_IOJS/#$NVM_IOJS_PREFIX-#;
|
|
|
|
|
\#$NVM_VERSION_DIR_IOJS# d;
|
|
|
|
|
@@ -987,18 +999,27 @@ nvm_install_merged_node_binary() {
|
|
|
|
|
local url
|
|
|
|
|
local sum
|
|
|
|
|
local NODE_PREFIX
|
|
|
|
|
local compression
|
|
|
|
|
compression="gz"
|
|
|
|
|
local tar_compression_flag
|
|
|
|
|
tar_compression_flag="x"
|
|
|
|
|
if nvm_supports_xz "$VERSION"; then
|
|
|
|
|
compression="xz"
|
|
|
|
|
tar_compression_flag="J"
|
|
|
|
|
fi
|
|
|
|
|
NODE_PREFIX="$(nvm_node_prefix)"
|
|
|
|
|
|
|
|
|
|
if [ -n "$NVM_OS" ]; then
|
|
|
|
|
t="$VERSION-$NVM_OS-$(nvm_get_arch)"
|
|
|
|
|
url="$MIRROR/$VERSION/$NODE_PREFIX-${t}.tar.gz"
|
|
|
|
|
sum="$(nvm_download -L -s $MIRROR/$VERSION/SHASUMS256.txt -o - | command grep $NODE_PREFIX-${t}.tar.gz | command awk '{print $1}')"
|
|
|
|
|
url="$MIRROR/$VERSION/$NODE_PREFIX-${t}.tar.${compression}"
|
|
|
|
|
sum="$(nvm_download -L -s $MIRROR/$VERSION/SHASUMS256.txt -o - | command grep $NODE_PREFIX-${t}.tar.${compression} | command awk '{print $1}')"
|
|
|
|
|
local tmpdir
|
|
|
|
|
tmpdir="$NVM_DIR/bin/node-${t}"
|
|
|
|
|
local tmptarball
|
|
|
|
|
tmptarball="$tmpdir/node-${t}.tar.gz"
|
|
|
|
|
tmptarball="$tmpdir/node-${t}.tar.${compression}"
|
|
|
|
|
local NVM_INSTALL_ERRORED
|
|
|
|
|
command mkdir -p "$tmpdir" && \
|
|
|
|
|
echo "Downloading $url..." && \
|
|
|
|
|
nvm_download -L -C - --progress-bar $url -o "$tmptarball" || \
|
|
|
|
|
NVM_INSTALL_ERRORED=true
|
|
|
|
|
if grep '404 Not Found' "$tmptarball" >/dev/null; then
|
|
|
|
|
@@ -1009,7 +1030,7 @@ nvm_install_merged_node_binary() {
|
|
|
|
|
[ "$NVM_INSTALL_ERRORED" != true ] && \
|
|
|
|
|
echo "WARNING: checksums are currently disabled for node.js v4.0 and later" >&2 && \
|
|
|
|
|
# nvm_checksum "$tmptarball" $sum && \
|
|
|
|
|
command tar -xzf "$tmptarball" -C "$tmpdir" --strip-components 1 && \
|
|
|
|
|
command tar -x${tar_compression_flag}f "$tmptarball" -C "$tmpdir" --strip-components 1 && \
|
|
|
|
|
command rm -f "$tmptarball" && \
|
|
|
|
|
command mkdir -p "$VERSION_PATH" && \
|
|
|
|
|
command mv "$tmpdir"/* "$VERSION_PATH"
|
|
|
|
|
@@ -1053,18 +1074,27 @@ nvm_install_iojs_binary() {
|
|
|
|
|
local t
|
|
|
|
|
local url
|
|
|
|
|
local sum
|
|
|
|
|
local compression
|
|
|
|
|
compression="gz"
|
|
|
|
|
local tar_compression_flag
|
|
|
|
|
tar_compression_flag="x"
|
|
|
|
|
if nvm_supports_xz "$VERSION"; then
|
|
|
|
|
compression="xz"
|
|
|
|
|
tar_compression_flag="J"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -n "$NVM_OS" ]; then
|
|
|
|
|
if nvm_binary_available "$VERSION"; then
|
|
|
|
|
t="$VERSION-$NVM_OS-$(nvm_get_arch)"
|
|
|
|
|
url="$MIRROR/$VERSION/$(nvm_iojs_prefix)-${t}.tar.gz"
|
|
|
|
|
sum="$(nvm_download -L -s $MIRROR/$VERSION/SHASUMS256.txt -o - | command grep $(nvm_iojs_prefix)-${t}.tar.gz | command awk '{print $1}')"
|
|
|
|
|
url="$MIRROR/$VERSION/$(nvm_iojs_prefix)-${t}.tar.${compression}"
|
|
|
|
|
sum="$(nvm_download -L -s $MIRROR/$VERSION/SHASUMS256.txt -o - | command grep $(nvm_iojs_prefix)-${t}.tar.${compression} | command awk '{print $1}')"
|
|
|
|
|
local tmpdir
|
|
|
|
|
tmpdir="$NVM_DIR/bin/iojs-${t}"
|
|
|
|
|
local tmptarball
|
|
|
|
|
tmptarball="$tmpdir/iojs-${t}.tar.gz"
|
|
|
|
|
tmptarball="$tmpdir/iojs-${t}.tar.${compression}"
|
|
|
|
|
local NVM_INSTALL_ERRORED
|
|
|
|
|
command mkdir -p "$tmpdir" && \
|
|
|
|
|
echo "Downloading $url..." && \
|
|
|
|
|
nvm_download -L -C - --progress-bar $url -o "$tmptarball" || \
|
|
|
|
|
NVM_INSTALL_ERRORED=true
|
|
|
|
|
if grep '404 Not Found' "$tmptarball" >/dev/null; then
|
|
|
|
|
@@ -1075,7 +1105,7 @@ nvm_install_iojs_binary() {
|
|
|
|
|
[ "$NVM_INSTALL_ERRORED" != true ] && \
|
|
|
|
|
echo "WARNING: checksums are currently disabled for io.js" >&2 && \
|
|
|
|
|
# nvm_checksum "$tmptarball" $sum && \
|
|
|
|
|
command tar -xzf "$tmptarball" -C "$tmpdir" --strip-components 1 && \
|
|
|
|
|
command tar -x${tar_compression_flag}f "$tmptarball" -C "$tmpdir" --strip-components 1 && \
|
|
|
|
|
command rm -f "$tmptarball" && \
|
|
|
|
|
command mkdir -p "$VERSION_PATH" && \
|
|
|
|
|
command mv "$tmpdir"/* "$VERSION_PATH"
|
|
|
|
|
@@ -1197,6 +1227,7 @@ nvm_install_node_source() {
|
|
|
|
|
if (
|
|
|
|
|
[ -n "$tarball" ] && \
|
|
|
|
|
command mkdir -p "$tmpdir" && \
|
|
|
|
|
echo "Downloading $tarball..." && \
|
|
|
|
|
nvm_download -L --progress-bar $tarball -o "$tmptarball" && \
|
|
|
|
|
nvm_checksum "$tmptarball" $sum && \
|
|
|
|
|
command tar -xzf "$tmptarball" -C "$tmpdir" && \
|
|
|
|
|
@@ -1371,9 +1402,9 @@ nvm_sanitize_path() {
|
|
|
|
|
local SANITIZED_PATH
|
|
|
|
|
SANITIZED_PATH="$1"
|
|
|
|
|
if [ "_$1" != "_$NVM_DIR" ]; then
|
|
|
|
|
SANITIZED_PATH="$(echo "$SANITIZED_PATH" | sed "s#$NVM_DIR#\$NVM_DIR#g")"
|
|
|
|
|
SANITIZED_PATH="$(echo "$SANITIZED_PATH" | command sed "s#$NVM_DIR#\$NVM_DIR#g")"
|
|
|
|
|
fi
|
|
|
|
|
echo "$SANITIZED_PATH" | sed "s#$HOME#\$HOME#g"
|
|
|
|
|
echo "$SANITIZED_PATH" | command sed "s#$HOME#\$HOME#g"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
nvm() {
|
|
|
|
|
@@ -1647,9 +1678,9 @@ nvm() {
|
|
|
|
|
fi
|
|
|
|
|
# Delete all files related to target version.
|
|
|
|
|
command rm -rf "$NVM_DIR/src/$NVM_PREFIX-$VERSION" \
|
|
|
|
|
"$NVM_DIR/src/$NVM_PREFIX-$VERSION.tar.gz" \
|
|
|
|
|
"$NVM_DIR/src/$NVM_PREFIX-$VERSION.tar.*" \
|
|
|
|
|
"$NVM_DIR/bin/$NVM_PREFIX-${t}" \
|
|
|
|
|
"$NVM_DIR/bin/$NVM_PREFIX-${t}.tar.gz" \
|
|
|
|
|
"$NVM_DIR/bin/$NVM_PREFIX-${t}.tar.*" \
|
|
|
|
|
"$VERSION_PATH" 2>/dev/null
|
|
|
|
|
echo "$NVM_SUCCESS_MSG"
|
|
|
|
|
|
|
|
|
|
@@ -1777,13 +1808,14 @@ nvm() {
|
|
|
|
|
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
|
|
|
|
|
if nvm_is_iojs_version "$VERSION"; then
|
|
|
|
|
if [ $NVM_USE_SILENT -ne 1 ]; then
|
|
|
|
|
echo "Now using io.js $(nvm_strip_iojs_prefix "$VERSION")$(nvm_print_npm_version)"
|
|
|
|
|
NVM_USE_OUTPUT="Now using io.js $(nvm_strip_iojs_prefix "$VERSION")$(nvm_print_npm_version)"
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
if [ $NVM_USE_SILENT -ne 1 ]; then
|
|
|
|
|
echo "Now using node $VERSION$(nvm_print_npm_version)"
|
|
|
|
|
NVM_USE_OUTPUT="Now using node $VERSION$(nvm_print_npm_version)"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
if [ "_$VERSION" != "_system" ]; then
|
|
|
|
|
@@ -1799,6 +1831,9 @@ nvm() {
|
|
|
|
|
return 11
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
if [ -n "$NVM_USE_OUTPUT" ]; then
|
|
|
|
|
echo "$NVM_USE_OUTPUT"
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
"run" )
|
|
|
|
|
local provided_version
|
|
|
|
|
@@ -1827,7 +1862,7 @@ nvm() {
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
provided_version=$1
|
|
|
|
|
provided_version="$1"
|
|
|
|
|
if [ -n "$provided_version" ]; then
|
|
|
|
|
VERSION="$(nvm_version "$provided_version")"
|
|
|
|
|
if [ "_$VERSION" = "_N/A" ] && ! nvm_is_valid_version "$provided_version"; then
|
|
|
|
|
@@ -1858,8 +1893,8 @@ nvm() {
|
|
|
|
|
setopt shwordsplit
|
|
|
|
|
fi
|
|
|
|
|
if [ "_$VERSION" = "_N/A" ]; then
|
|
|
|
|
echo "$(nvm_ensure_version_prefix "$provided_version") is not installed yet" >&2
|
|
|
|
|
EXIT_CODE=1
|
|
|
|
|
nvm_ensure_version_installed "$provided_version"
|
|
|
|
|
EXIT_CODE=$?
|
|
|
|
|
elif [ -z "$ARGS" ]; then
|
|
|
|
|
if [ "$NVM_IOJS" = true ]; then
|
|
|
|
|
nvm exec "$VERSION" iojs
|
|
|
|
|
@@ -1898,7 +1933,7 @@ nvm() {
|
|
|
|
|
provided_version="$1"
|
|
|
|
|
if [ -n "$provided_version" ]; then
|
|
|
|
|
VERSION="$(nvm_version "$provided_version")"
|
|
|
|
|
if [ "_$VERSION" = "_N/A" ]; then
|
|
|
|
|
if [ "_$VERSION" = "_N/A" ] && ! nvm_is_valid_version "$provided_version"; then
|
|
|
|
|
nvm_rc_version
|
|
|
|
|
provided_version="$NVM_RC_VERSION"
|
|
|
|
|
VERSION="$(nvm_version "$provided_version")"
|
|
|
|
|
@@ -2149,7 +2184,7 @@ $NVM_LS_REMOTE_POST_MERGED_OUTPUT" | command grep -v "N/A" | command sed '/^$/d'
|
|
|
|
|
nvm_remote_version "$2"
|
|
|
|
|
;;
|
|
|
|
|
"--version" )
|
|
|
|
|
echo "0.28.0"
|
|
|
|
|
echo "0.29.0"
|
|
|
|
|
;;
|
|
|
|
|
"unload" )
|
|
|
|
|
unset -f nvm nvm_print_versions nvm_checksum \
|
|
|
|
|
@@ -2174,7 +2209,7 @@ $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 > /dev/null 2>&1
|
|
|
|
|
nvm_supports_source_options nvm_supports_xz > /dev/null 2>&1
|
|
|
|
|
unset RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_DIR NVM_CD_FLAGS > /dev/null 2>&1
|
|
|
|
|
;;
|
|
|
|
|
* )
|
|
|
|
|
@@ -2188,6 +2223,11 @@ nvm_supports_source_options() {
|
|
|
|
|
[ "_$(echo 'echo $1' | . /dev/stdin yes 2> /dev/null)" = "_yes" ]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
nvm_supports_xz() {
|
|
|
|
|
command which xz 2>&1 >/dev/null && \
|
|
|
|
|
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 && [ "_$1" = "_--install" ]; then
|
|
|
|
|
if [ -n "$NVM_VERSION" ]; then
|
|
|
|
|
|