Skip checksum when download file failed.

This commit is contained in:
buguin 2023-04-05 19:49:53 +08:00 committed by Jordan Harband
parent a1601eddb8
commit 56a71c78f5
No known key found for this signature in database
GPG Key ID: 9F6A681E35EF8B56

14
nvm.sh
View File

@ -121,7 +121,8 @@ nvm_download() {
if nvm_curl_use_compression; then if nvm_curl_use_compression; then
CURL_COMPRESSED_FLAG="--compressed" CURL_COMPRESSED_FLAG="--compressed"
fi fi
curl --fail ${CURL_COMPRESSED_FLAG:-} -q "$@" # shellcheck disable=SC1083
curl --fail ${CURL_COMPRESSED_FLAG:-} -q -w %{http_code} "$@"
elif nvm_has "wget"; then elif nvm_has "wget"; then
# Emulate curl with wget # Emulate curl with wget
ARGS=$(nvm_echo "$@" | command sed -e 's/--progress-bar /--progress=bar /' \ ARGS=$(nvm_echo "$@" | command sed -e 's/--progress-bar /--progress=bar /' \
@ -134,7 +135,7 @@ nvm_download() {
-e 's/-o /-O /' \ -e 's/-o /-O /' \
-e 's/-C - /-c /') -e 's/-C - /-c /')
# shellcheck disable=SC2086 # shellcheck disable=SC2086
eval wget $ARGS eval wget -S $ARGS 2>&1 | grep '^ HTTP/' | awk '{print $2}'
fi fi
} }
@ -2298,12 +2299,17 @@ nvm_download_artifact() {
nvm_err "Removing the broken local cache..." nvm_err "Removing the broken local cache..."
command rm -rf "${TARBALL}" command rm -rf "${TARBALL}"
fi fi
nvm_err "Downloading ${TARBALL_URL}..." nvm_err "Downloading ${TARBALL_URL}..."
nvm_download -L -C - "${PROGRESS_BAR}" "${TARBALL_URL}" -o "${TARBALL}" || ( download_result=$(nvm_download -L -C - "${PROGRESS_BAR}" "${TARBALL_URL}" -o "${TARBALL}")
if [ "${NVM_DEBUG-}" = 1 ]; then
nvm_err "Download HTTP Status ${download_result}"
fi
if [ "${download_result}" != '200' ]; then
command rm -rf "${TARBALL}" "${tmpdir}" command rm -rf "${TARBALL}" "${tmpdir}"
nvm_err "Binary download from ${TARBALL_URL} failed, trying source." nvm_err "Binary download from ${TARBALL_URL} failed, trying source."
return 4 return 4
) fi
if nvm_grep '404 Not Found' "${TARBALL}" >/dev/null; then if nvm_grep '404 Not Found' "${TARBALL}" >/dev/null; then
command rm -rf "${TARBALL}" "${tmpdir}" command rm -rf "${TARBALL}" "${tmpdir}"