mirror of
				https://github.com/nvm-sh/nvm.git
				synced 2025-10-31 10:15:53 +08:00 
			
		
		
		
	Added support for sha256 checksums
This commit is contained in:
		
							
								
								
									
										35
									
								
								nvm.sh
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								nvm.sh
									
									
									
									
									
								
							| @@ -759,15 +759,28 @@ nvm_ls_remote_index_tab() { | |||||||
|  |  | ||||||
| nvm_checksum() { | nvm_checksum() { | ||||||
|   local NVM_CHECKSUM |   local NVM_CHECKSUM | ||||||
|   if nvm_has "sha1sum" && ! nvm_is_alias "sha1sum"; then |   if [ -z "$3" ] || [ "$3" == "sha1" ]; then | ||||||
|     NVM_CHECKSUM="$(command sha1sum "$1" | command awk '{print $1}')" |     if nvm_has "sha1sum" && ! nvm_is_alias "sha1sum"; then | ||||||
|   elif nvm_has "sha1" && ! nvm_is_alias "sha1"; then |       NVM_CHECKSUM="$(command sha1sum "$1" | command awk '{print $1}')" | ||||||
|     NVM_CHECKSUM="$(command sha1 -q "$1")" |     elif nvm_has "sha1" && ! nvm_is_alias "sha1"; then | ||||||
|   elif nvm_has "shasum" && ! nvm_is_alias "shasum"; then |       NVM_CHECKSUM="$(command sha1 -q "$1")" | ||||||
|     NVM_CHECKSUM="$(shasum "$1" | command awk '{print $1}')" |     elif nvm_has "shasum" && ! nvm_is_alias "shasum"; then | ||||||
|  |       NVM_CHECKSUM="$(shasum "$1" | command awk '{print $1}')" | ||||||
|  |     else | ||||||
|  |       echo "Unaliased sha1sum, sha1, or shasum not found." >&2 | ||||||
|  |       return 2 | ||||||
|  |     fi | ||||||
|   else |   else | ||||||
|     echo "Unaliased sha1sum, sha1, or shasum not found." >&2 |     if nvm_has "sha256sum" && ! nvm_is_alias "sha256sum"; then | ||||||
|     return 2 |       NVM_CHECKSUM="$(command sha256sum "$1" | command awk '{print $1}')" | ||||||
|  |     elif nvm_has "sha256" && ! nvm_is_alias "sha256"; then | ||||||
|  |       NVM_CHECKSUM="$(command sha256 -q "$1")" | ||||||
|  |     elif nvm_has "gsha256sum" && ! nvm_is_alias "gsha256sum"; then | ||||||
|  |       NVM_CHECKSUM="$(gsha256sum "$1" | command awk '{print $1}')" | ||||||
|  |     else | ||||||
|  |       echo "Unaliased sha256sum, sha256, or gsha256sum not found." >&2 | ||||||
|  |       return 2 | ||||||
|  |     fi | ||||||
|   fi |   fi | ||||||
|  |  | ||||||
|   if [ "_$NVM_CHECKSUM" = "_$2" ]; then |   if [ "_$NVM_CHECKSUM" = "_$2" ]; then | ||||||
| @@ -1051,8 +1064,7 @@ nvm_install_merged_node_binary() { | |||||||
|     fi |     fi | ||||||
|     if ( |     if ( | ||||||
|       [ "$NVM_INSTALL_ERRORED" != true ] && \ |       [ "$NVM_INSTALL_ERRORED" != true ] && \ | ||||||
|       echo "WARNING: checksums are currently disabled for node.js v4.0 and later" >&2 && \ |       nvm_checksum "$tmptarball" "$sum" "sha256" && \ | ||||||
|       # nvm_checksum "$tmptarball" "$sum" && \ |  | ||||||
|       command tar -x${tar_compression_flag}f "$tmptarball" -C "$tmpdir" --strip-components 1 && \ |       command tar -x${tar_compression_flag}f "$tmptarball" -C "$tmpdir" --strip-components 1 && \ | ||||||
|       command rm -f "$tmptarball" && \ |       command rm -f "$tmptarball" && \ | ||||||
|       command mkdir -p "$VERSION_PATH" && \ |       command mkdir -p "$VERSION_PATH" && \ | ||||||
| @@ -1126,8 +1138,7 @@ nvm_install_iojs_binary() { | |||||||
|       fi |       fi | ||||||
|       if ( |       if ( | ||||||
|         [ "$NVM_INSTALL_ERRORED" != true ] && \ |         [ "$NVM_INSTALL_ERRORED" != true ] && \ | ||||||
|         echo "WARNING: checksums are currently disabled for io.js" >&2 && \ |         nvm_checksum "$tmptarball" "$sum" "sha256" && \ | ||||||
|         # nvm_checksum "$tmptarball" "$sum" && \ |  | ||||||
|         command tar -x${tar_compression_flag}f "$tmptarball" -C "$tmpdir" --strip-components 1 && \ |         command tar -x${tar_compression_flag}f "$tmptarball" -C "$tmpdir" --strip-components 1 && \ | ||||||
|         command rm -f "$tmptarball" && \ |         command rm -f "$tmptarball" && \ | ||||||
|         command mkdir -p "$VERSION_PATH" && \ |         command mkdir -p "$VERSION_PATH" && \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user