Se il vostro percorso contiene le variabili d'ambiente che non sono stati definiti all'inizio della sessione, ti consigliamo di ampliare quelli troppo
$env:Path = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User"))
per me questo è stato utile dopo l'installazione di NVM che definisce e aggiunge% NVM_HOME% al percorso
Per prendere questo alla sua logica conclusione è possibile utilizzare questa funzione ricorsiva per espandere invece
function Expand-EnvironmentVariablesRecursively($unexpanded) {
$previous = ''
$expanded = $unexpanded
while($previous -ne $expanded) {
$previous = $expanded
$expanded = [System.Environment]::ExpandEnvironmentVariables($previous)
}
return $expanded
}
e quindi utilizzare
$env:Path = Expand-EnvironmentVariablesRecursively([System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User"))
ho opened an issue aggiungere questa soluzione in refreshenv
da cioccolatoso
** Yup. ** [commento di Rob] (https://stackoverflow.com/questions/17794507/reload-the-path-in- powershell # comment25967553_17794885) colpisce la Casbah di Powershell, infatti. –
dovrebbe essere più facile ... – Dyin
Se stai usando cioccolatoso, ed è caricato nel tuo profilo, c'è un comando semplice: 'refreshenv'. Questo viene eseguito fondamentalmente una [versione più elaborata] (https://github.com/chocolatey/choco/blob/stable/src/chocolatey.resources/helpers/functions/Update-SessionEnvironment.ps1) di commento di Rob. –