From e6d18766e6ad2c001b89c97b1f3a61f2a2bca3c3 Mon Sep 17 00:00:00 2001 From: Alexey-Ayupov <116575425+Alexey-Ayupov@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:01:55 +0100 Subject: [PATCH] [Windows] Refactor Install-NodeJS script (#11088) --- images/windows/scripts/build/Install-NodeJS.ps1 | 13 +++++++++++-- images/windows/toolsets/toolset-2019.json | 2 +- images/windows/toolsets/toolset-2022.json | 2 +- images/windows/toolsets/toolset-2025.json | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/images/windows/scripts/build/Install-NodeJS.ps1 b/images/windows/scripts/build/Install-NodeJS.ps1 index 05809a16..1063ba8e 100644 --- a/images/windows/scripts/build/Install-NodeJS.ps1 +++ b/images/windows/scripts/build/Install-NodeJS.ps1 @@ -11,9 +11,18 @@ New-Item -Path $prefixPath -Force -ItemType Directory New-Item -Path $cachePath -Force -ItemType Directory $defaultVersion = (Get-ToolsetContent).node.default -$versionToInstall = Resolve-ChocoPackageVersion -PackageName "nodejs" -TargetVersion $defaultVersion +$nodeVersion = (Get-GithubReleasesByVersion -Repo "nodejs/node" -Version "${defaultVersion}").version | Select-Object -First 1 +$downloadUrl = "https://nodejs.org/dist/v${nodeVersion}/node-v${nodeVersion}-x64.msi" -Install-ChocoPackage "nodejs" -ArgumentList "--version=$versionToInstall" +$packageName = Split-Path $downloadUrl -Leaf +$externalHash = Get-ChecksumFromUrl -Type "SHA256" ` + -Url ($downloadUrl -replace $packageName, "SHASUMS256.txt") ` + -FileName $packageName + +Install-Binary -Type MSI ` + -Url $downloadUrl ` + -ExtraInstallArgs @('ADDLOCAL=ALL') ` + -ExpectedSHA256Sum $externalHash Add-MachinePathItem $prefixPath Update-Environment diff --git a/images/windows/toolsets/toolset-2019.json b/images/windows/toolsets/toolset-2019.json index 446e652c..db9aa609 100644 --- a/images/windows/toolsets/toolset-2019.json +++ b/images/windows/toolsets/toolset-2019.json @@ -449,7 +449,7 @@ ] }, "node": { - "default": "18" + "default": "18.*" }, "maven": { "version": "3.8" diff --git a/images/windows/toolsets/toolset-2022.json b/images/windows/toolsets/toolset-2022.json index e15af72c..8052ea70 100644 --- a/images/windows/toolsets/toolset-2022.json +++ b/images/windows/toolsets/toolset-2022.json @@ -358,7 +358,7 @@ ] }, "node": { - "default": "18" + "default": "18.*" }, "maven": { "version": "3.8" diff --git a/images/windows/toolsets/toolset-2025.json b/images/windows/toolsets/toolset-2025.json index 4248f8a5..1aefaa4e 100644 --- a/images/windows/toolsets/toolset-2025.json +++ b/images/windows/toolsets/toolset-2025.json @@ -293,7 +293,7 @@ ] }, "node": { - "default": "22" + "default": "22.*" }, "maven": { "version": "3.9"