Articles

Configureren pad variabele in Powershell

Scenario: om welke reden dan ook je moet ontwikkelen op een Windows-machine en je bent geen beheerder. Uw bedrijf dwingt dezelfde oude Java-versie op alle machines af, maar u wilt een recentere versie uitproberen.
nadat je een JDK binaire distributie hebt gedownload in een map naar keuze, is het heel eenvoudig om je IDE in te stellen om daarmee te werken, maar wat als je Java wilt draaien vanuit Powershell?
Gewoonlijk zal uw machine worden ingesteld met een systeempadvariabele die naar de oude Java-versie wijst en die niet kan worden gewijzigd. Je probeert het pad in je gebruikersvariabelen te veranderen door de locatie toe te voegen aan je nieuw gedownloade JDK. Hoera toch?

Well… no 😥

Het blijkt dat gebruikerspaden worden uitgesteld naar systeempaden, en bij het zoeken naar een uitvoerbaar bestand kiest Windows de eerste overeenkomst.

gelukkig voor ons blijkt er een tijdelijke oplossing voor te zijn! Net als bash met zijn .bashrc bestand, ondersteunt Powershell init scripts.
Om een init script aan te maken, voer je dit commando uit vanuit Powershell:

New-Item $profile -Type File -Force

Ga naar uw map Documenten, u zult een nieuwe WindowsPowerShell submap vinden die een PowerShell-script bevat met de naam Microsoft.PowerShell_profile.ps1. Bewerk dat bestand en voeg een regel als deze toe:

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

Sla een nieuwe PowerShell-instantie op en open deze: het script wordt automatisch uitgevoerd wanneer een nieuwe shell-instantie wordt aangemaakt. Nu kunt u de variabele new Path zien met het volgende commando:

echo $env:Path