mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-12-20 20:24:22 +08:00
Compare commits
1 Commits
9917d3bb03
...
temp6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84bda8d402 |
2
nvm-exec
2
nvm-exec
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
DIR="$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
|
DIR="$(command cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
unset NVM_CD_FLAGS
|
unset NVM_CD_FLAGS
|
||||||
|
|
||||||
|
|||||||
67
nvm.sh
67
nvm.sh
@@ -136,17 +136,15 @@ nvm_download() {
|
|||||||
eval "curl -q --fail ${CURL_COMPRESSED_FLAG:-} ${CURL_HEADER_FLAG:-} ${NVM_DOWNLOAD_ARGS}"
|
eval "curl -q --fail ${CURL_COMPRESSED_FLAG:-} ${CURL_HEADER_FLAG:-} ${NVM_DOWNLOAD_ARGS}"
|
||||||
elif nvm_has "wget"; then
|
elif nvm_has "wget"; then
|
||||||
# Emulate curl with wget
|
# Emulate curl with wget
|
||||||
ARGS=$(nvm_echo "$@" | command sed "
|
ARGS=$(nvm_echo "$@" | command sed -e 's/--progress-bar /--progress=bar /' \
|
||||||
s/--progress-bar /--progress=bar /
|
-e 's/--compressed //' \
|
||||||
s/--compressed //
|
-e 's/--fail //' \
|
||||||
s/--fail //
|
-e 's/-L //' \
|
||||||
s/-L //
|
-e 's/-I /--server-response /' \
|
||||||
s/-I /--server-response /
|
-e 's/-s /-q /' \
|
||||||
s/-s /-q /
|
-e 's/-sS /-nv /' \
|
||||||
s/-sS /-nv /
|
-e 's/-o /-O /' \
|
||||||
s/-o /-O /
|
-e 's/-C - /-c /')
|
||||||
s/-C - /-c /
|
|
||||||
")
|
|
||||||
|
|
||||||
if [ -n "${NVM_AUTH_HEADER:-}" ]; then
|
if [ -n "${NVM_AUTH_HEADER:-}" ]; then
|
||||||
ARGS="${ARGS} --header \"${NVM_AUTH_HEADER}\""
|
ARGS="${ARGS} --header \"${NVM_AUTH_HEADER}\""
|
||||||
@@ -1415,11 +1413,11 @@ nvm_add_iojs_prefix() {
|
|||||||
nvm_strip_iojs_prefix() {
|
nvm_strip_iojs_prefix() {
|
||||||
local NVM_IOJS_PREFIX
|
local NVM_IOJS_PREFIX
|
||||||
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||||
|
if [ "${1-}" = "${NVM_IOJS_PREFIX}" ]; then
|
||||||
case "${1-}" in
|
nvm_echo
|
||||||
"${NVM_IOJS_PREFIX}") nvm_echo ;;
|
else
|
||||||
*) nvm_echo "${1#"${NVM_IOJS_PREFIX}"-}" ;;
|
nvm_echo "${1#"${NVM_IOJS_PREFIX}"-}"
|
||||||
esac
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_ls() {
|
nvm_ls() {
|
||||||
@@ -1551,15 +1549,12 @@ nvm_ls() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${NVM_ADD_SYSTEM-}" = true ]; then
|
if [ "${NVM_ADD_SYSTEM-}" = true ]; then
|
||||||
case "${PATTERN}" in
|
if [ -z "${PATTERN}" ] || [ "${PATTERN}" = 'v' ]; then
|
||||||
'' | v)
|
VERSIONS="${VERSIONS}
|
||||||
VERSIONS="${VERSIONS}
|
|
||||||
system"
|
system"
|
||||||
;;
|
elif [ "${PATTERN}" = 'system' ]; then
|
||||||
system)
|
VERSIONS="system"
|
||||||
VERSIONS="system"
|
fi
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "${VERSIONS}" ]; then
|
if [ -z "${VERSIONS}" ]; then
|
||||||
@@ -1693,10 +1688,15 @@ EOF
|
|||||||
LTS="${LTS#lts/}"
|
LTS="${LTS#lts/}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VERSIONS="$( { command awk -v lts="${LTS-}" '{
|
VERSIONS="$({ command awk -v lts="${LTS-}" -v pattern="${PATTERN:-.*}" '
|
||||||
if (!$1) { next }
|
BEGIN {
|
||||||
if (lts && $10 ~ /^\-?$/) { next }
|
if (pattern == "") pattern = ".*"
|
||||||
if (lts && lts != "*" && tolower($10) !~ tolower(lts)) { next }
|
}
|
||||||
|
{
|
||||||
|
if (!$1) { next } # skip empty lines
|
||||||
|
if (lts && $10 ~ /^\-?$/) { next } # skip if LTS wanted, and row is not LTS
|
||||||
|
if (lts && lts != "*" && tolower($10) !~ tolower(lts)) { next } # skip if LTS filter does not match
|
||||||
|
if ($1 !~ pattern) { next } # only keep rows matching the pattern
|
||||||
if ($10 !~ /^\-?$/) {
|
if ($10 !~ /^\-?$/) {
|
||||||
if ($10 && $10 != prev) {
|
if ($10 && $10 != prev) {
|
||||||
print $1, $10, "*"
|
print $1, $10, "*"
|
||||||
@@ -1708,7 +1708,6 @@ EOF
|
|||||||
}
|
}
|
||||||
prev=$10;
|
prev=$10;
|
||||||
}' \
|
}' \
|
||||||
| nvm_grep -w "${PATTERN:-.*}" \
|
|
||||||
| $SORT_COMMAND; } << EOF
|
| $SORT_COMMAND; } << EOF
|
||||||
$VERSION_LIST
|
$VERSION_LIST
|
||||||
EOF
|
EOF
|
||||||
@@ -2737,7 +2736,7 @@ nvm_npm_global_modules() {
|
|||||||
local NPMLIST
|
local NPMLIST
|
||||||
local VERSION
|
local VERSION
|
||||||
VERSION="$1"
|
VERSION="$1"
|
||||||
NPMLIST=$(nvm use "${VERSION}" >/dev/null && npm list -g --depth=0 2>/dev/null | command sed -e '1d' -e '/UNMET PEER DEPENDENCY/d')
|
NPMLIST=$(nvm use "${VERSION}" >/dev/null && npm list -g --depth=0 2>/dev/null | command sed 1,1d | nvm_grep -v 'UNMET PEER DEPENDENCY')
|
||||||
|
|
||||||
local INSTALLS
|
local INSTALLS
|
||||||
INSTALLS=$(nvm_echo "${NPMLIST}" | command sed -e '/ -> / d' -e '/\(empty\)/ d' -e 's/^.* \(.*@[^ ]*\).*/\1/' -e '/^npm@[^ ]*.*$/ d' | command xargs)
|
INSTALLS=$(nvm_echo "${NPMLIST}" | command sed -e '/ -> / d' -e '/\(empty\)/ d' -e 's/^.* \(.*@[^ ]*\).*/\1/' -e '/^npm@[^ ]*.*$/ d' | command xargs)
|
||||||
@@ -4080,14 +4079,8 @@ nvm() {
|
|||||||
nvm_echo "Running node ${VERSION}$(nvm use --silent "${VERSION}" && nvm_print_npm_version)"
|
nvm_echo "Running node ${VERSION}$(nvm use --silent "${VERSION}" && nvm_print_npm_version)"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
NODE_VERSION="${VERSION}" "${NVM_DIR}/nvm-exec" "$@"
|
||||||
NVM_EXEC="${NVM_DIR}/nvm-exec"
|
|
||||||
if [ ! -f "${NVM_EXEC}" ]; then
|
|
||||||
NVM_EXEC="$(dirname "${BASH_SOURCE[0]-}")/nvm-exec"
|
|
||||||
fi
|
|
||||||
NODE_VERSION="${VERSION}" "${NVM_EXEC}" "$@"
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"ls" | "list")
|
"ls" | "list")
|
||||||
local PATTERN
|
local PATTERN
|
||||||
local NVM_NO_COLORS
|
local NVM_NO_COLORS
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
"dockerfile_lint": "^0.3.4",
|
"dockerfile_lint": "^0.3.4",
|
||||||
"doctoc": "^2.2.1",
|
"doctoc": "^2.2.1",
|
||||||
"eclint": "^2.8.1",
|
"eclint": "^2.8.1",
|
||||||
"markdown-link-check": "^3.13.6",
|
"markdown-link-check": "^3.12.2",
|
||||||
"replace": "^1.2.2",
|
"replace": "^1.2.2",
|
||||||
"semver": "^7.6.3",
|
"semver": "^7.6.3",
|
||||||
"urchin": "^0.0.5"
|
"urchin": "^0.0.5"
|
||||||
|
|||||||
@@ -83,4 +83,11 @@ EXPECTED_OUTPUT="$(cat "$EXPECTED_OUTPUT_PATH")"
|
|||||||
OUTPUT="$(NVM_LTS=argon nvm_ls_remote)"
|
OUTPUT="$(NVM_LTS=argon nvm_ls_remote)"
|
||||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "\`NVM_LTS=argon nvm_ls_remote\` did not output >$EXPECTED_OUTPUT<; got >$OUTPUT<"
|
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "\`NVM_LTS=argon nvm_ls_remote\` did not output >$EXPECTED_OUTPUT<; got >$OUTPUT<"
|
||||||
|
|
||||||
|
OUTPUT="$(nvm_ls_remote Argon 2>&1)"
|
||||||
|
EXIT_CODE=$?
|
||||||
|
[ $EXIT_CODE -eq 3 ] || die "nvm_ls_remote Argon did not exit 3, got '${EXIT_CODE}'"
|
||||||
|
|
||||||
|
EXPECTED_OUTPUT='N/A'
|
||||||
|
[ "_${OUTPUT}" = "_${EXPECTED_OUTPUT}" ] || die "nvm_ls_remote Argon did not output expected error message; got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||||
|
|
||||||
cleanup
|
cleanup
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
die () { echo "$@" ; exit 1; }
|
|
||||||
|
|
||||||
INSTPATH="$(mktemp -p "$(pwd)" -d)"
|
|
||||||
trap 'test ! -z "${INSTPATH-}" && test -d "$INSTPATH" && rm -rf "$INSTPATH"' EXIT
|
|
||||||
declare -x NVM_DIR=$INSTPATH
|
|
||||||
\. ../../../nvm.sh
|
|
||||||
|
|
||||||
nvm install --lts || die 'nvm install --lts failed'
|
|
||||||
nvm exec --lts npm --version || die "`nvm exec` failed to run"
|
|
||||||
declare -x NODE_VERSION="$(nvm exec --lts --silent node --version)"
|
|
||||||
|
|
||||||
ln -s ../../../../nvm-exec "$INSTPATH/nvm-exec" || die "failed to create a symlink to $INSTPATH/"
|
|
||||||
"$INSTPATH/nvm-exec" npm ls > /dev/null || die "`nvm exec` failed to run using nvm-exec helper"
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user