Jika jalur Anda berisi variabel lingkungan yang tidak ditentukan di awal sesi, Anda juga ingin memperluasnya:
$env:Path = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User"))
Bagi saya ini berguna setelah menginstal NVM yang mendefinisikan dan menambahkan% NVM_HOME% ke path.
Untuk mengambil kesimpulan logis ini Anda bisa menggunakan fungsi rekursif ini untuk memperluas:
function Expand-EnvironmentVariablesRecursively($unexpanded) {
$previous = ''
$expanded = $unexpanded
while($previous -ne $expanded) {
$previous = $expanded
$expanded = [System.Environment]::ExpandEnvironmentVariables($previous)
}
return $expanded
}
Dan kemudian gunakan:
$env:Path = Expand-EnvironmentVariablesRecursively([System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User"))
Saya telah membuka masalah untuk menambahkan solusi ini refreshenv
dari Chocolatey.