quickstarts/microsoft.devcenter/devbox-ready-to-code-image/tools/artifacts/windows-npm-global/windows-npm-global.ps1 (24 lines of code) (raw):
param(
[Parameter(Mandatory=$true)]
[string]$packages,
[Parameter(Mandatory=$false)]
[bool]$addToPath=$true
)
try {
$packageArray = $packages.split(",")
$npmPrefix = "C:\npm"
npm config set prefix $npmPrefix
for ($i = 0; $i -lt $packageArray.count; $i++) {
$package = $packageArray[$i].trim()
Write-Host "Installing $package globally"
npm install -g $package
Write-Host "Installation complete"
}
if ($addToPath) {
Write-Host "Adding npm prefix to PATH"
[Environment]::SetEnvironmentVariable("PATH", $env:Path + ";$npmPrefix", "Machine")
Write-Host "npm prefix added to PATH"
}
} catch {
Write-Error "!!! [ERROR] Unhandled exception:`n$_`n$($_.ScriptStackTrace)" -ErrorAction Stop
}