mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 13:17:54 +00:00
33 lines
1.1 KiB
PowerShell
33 lines
1.1 KiB
PowerShell
################################################################################
|
|
## File: Install-NodeJS.ps1
|
|
## Desc: Install nodejs-lts and other common node tools.
|
|
## Must run after python is configured
|
|
################################################################################
|
|
|
|
$PrefixPath = 'C:\npm\prefix'
|
|
$CachePath = 'C:\npm\cache'
|
|
|
|
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
|
|
|
|
Install-ChocoPackage nodejs -ArgumentList "--version=$versionToInstall"
|
|
|
|
Add-MachinePathItem $PrefixPath
|
|
Update-Environment
|
|
|
|
[Environment]::SetEnvironmentVariable("npm_config_prefix", $PrefixPath, "Machine")
|
|
$env:npm_config_prefix = $PrefixPath
|
|
|
|
npm config set cache $CachePath --global
|
|
npm config set registry https://registry.npmjs.org/
|
|
|
|
$globalNpmPackages = (Get-ToolsetContent).npm.global_packages
|
|
$globalNpmPackages | ForEach-Object {
|
|
npm install -g $_.name
|
|
}
|
|
|
|
Invoke-PesterTests -TestFile "Node"
|