Articles

Configura la variabile Path in Powershell

Scenario: per qualsiasi motivo devi sviluppare su una macchina Windows e non sei un amministratore. La tua azienda applica la stessa vecchia versione Java su tutte le macchine, ma vuoi provarne una più recente.
Dopo aver scaricato una distribuzione binaria JDK in una cartella di tua scelta, è davvero facile configurare il tuo IDE per funzionare con quello, ma cosa succede se vuoi eseguire Java da Powershell?
In genere la tua macchina verrà configurata con una variabile del percorso di sistema che punta alla vecchia versione di Java e che non può essere modificata. Si tenta di modificare il percorso nelle variabili utente aggiungendo la posizione al marchio appena scaricato JDK. Evviva, vero?

Bene… no

Si scopre che i percorsi utente vengono posticipati ai percorsi di sistema e quando si cerca un eseguibile Windows sceglie la prima corrispondenza.

Fortunatamente per noi, si scopre che c’è una soluzione alternativa per questo! Analogamente a bash con il suo file.bashrc, Powershell supporta gli script init.
Per creare uno script di init, eseguire questo comando da Powershell:

New-Item $profile -Type File -Force

Vai alla cartella Documenti, troverai una nuova sottocartellaWindowsPowerShell che contiene uno script Powershell chiamatoMicrosoft.PowerShell_profile.ps1. Modifica quel file e aggiungi una riga come questa:

 $Env:Path="C:\Users\my-user-name\apps\my-jdk-folder\bin;"+$Env:Path

Salva e apri una nuova istanza di Powershell: lo script verrà eseguito automaticamente quando viene creata una nuova istanza di shell. Ora puoi vedere la nuova variabile Path con il seguente comando:

echo $env:Path