-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathinstaller.ps1
26 lines (22 loc) · 1.44 KB
/
installer.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"
$PSDefaultParameterValues['*:ErrorAction']='Stop'
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$ProgressPreference = 'SilentlyContinue'
$epirus_version = $(Invoke-WebRequest -UseBasicParsing -Uri https://internal.services.web3labs.com/api/epirus/versions/latest).content
New-Item -Force -ItemType directory -Path "${env:USERPROFILE}\.epirus" | Out-Null
$url = "https://github.com/epirus-io/epirus-cli/releases/download/v${epirus_version}/epirus-cli-shadow-${epirus_version}.zip"
$output = "${env:USERPROFILE}\.epirus\epirus.zip"
Write-Output "Downloading Epirus version ${epirus_version}..."
Invoke-WebRequest -Uri $url -OutFile $output
Write-Output "Extracting Epirus..."
Expand-Archive -Path "${env:USERPROFILE}\.epirus\epirus.zip" -DestinationPath "${env:USERPROFILE}\.epirus\" -Force
$CurrentPath = [Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::User)
if (!($CurrentPath -match $epirus_version)) {
[Environment]::SetEnvironmentVariable(
"Path",
$CurrentPath + ";${env:USERPROFILE}\.epirus\epirus-cli-shadow-${epirus_version}\bin",
[EnvironmentVariableTarget]::User)
Write-Output "Epirus has been added to your PATH variable. You will need to open a new CMD/PowerShell instance to use it."
}
Write-Output "Epirus has been successfully installed (assuming errors were printed to your console)."