Gradle Windows 安裝
自動抓 Gradle 官方最新版本安裝,之後重跑同一段就是更新
兩個選項擇一,整段貼到 PowerShell 執行
前置需求
需要 Java 17 以上,沒有的話先看 Java 安裝教學
java -version
選項 A:C:\App\gradle(系統變數)
以系統管理員身分執行
先確認權限,沒有顯示錯誤再往下
if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { throw "請以系統管理員身分執行 PowerShell" }
下載並安裝
# 設定安裝目錄
$GradleRoot = "C:\App\gradle"
# 取得最新版本資訊
$Latest = Invoke-RestMethod https://services.gradle.org/versions/current
$GradleDir = "$GradleRoot\gradle-$($Latest.version)"
# 下載 gradle
$Zip = "$env:TEMP\gradle.zip"
Invoke-WebRequest -Uri $Latest.downloadUrl -OutFile $Zip
# 驗證檔案
if ((Get-FileHash $Zip -Algorithm SHA256).Hash -ne (Invoke-RestMethod $Latest.checksumUrl).Trim()) { throw "SHA256 不符" }
# 解壓縮(產生帶版本號的資料夾)
Expand-Archive $Zip $GradleRoot -Force
Remove-Item $Zip
# 更新系統環境變數(移除舊版,加入新版)
$MachinePath = (@([Environment]::GetEnvironmentVariable("Path", "Machine") -split ";" | Where-Object { $_ -and $_ -notlike "$GradleRoot\*" }) + "$GradleDir\bin") -join ";"
[Environment]::SetEnvironmentVariable("Path", $MachinePath, "Machine")
選項 B:C:\Users\<你>\.local\gradle(使用者變數)
一般權限即可
# 設定安裝目錄
$GradleRoot = "$env:USERPROFILE\.local\gradle"
# 取得最新版本資訊
$Latest = Invoke-RestMethod https://services.gradle.org/versions/current
$GradleDir = "$GradleRoot\gradle-$($Latest.version)"
# 下載 gradle
$Zip = "$env:TEMP\gradle.zip"
Invoke-WebRequest -Uri $Latest.downloadUrl -OutFile $Zip
# 驗證檔案
if ((Get-FileHash $Zip -Algorithm SHA256).Hash -ne (Invoke-RestMethod $Latest.checksumUrl).Trim()) { throw "SHA256 不符" }
# 解壓縮(產生帶版本號的資料夾)
Expand-Archive $Zip $GradleRoot -Force
Remove-Item $Zip
# 更新使用者環境變數(移除舊版,加入新版)
$UserPath = (@([Environment]::GetEnvironmentVariable("Path", "User") -split ";" | Where-Object { $_ -and $_ -notlike "$GradleRoot\*" }) + "$GradleDir\bin") -join ";"
[Environment]::SetEnvironmentVariable("Path", $UserPath, "User")
確認安裝
裝完接著執行,重新載入環境變數並顯示安裝位置
# 重新載入環境變數
$env:Path = (($env:Path -split ";") + ([Environment]::GetEnvironmentVariable("Path", "Machine") -split ";") + ([Environment]::GetEnvironmentVariable("Path", "User") -split ";") | Where-Object { $_ } | Select-Object -Unique) -join ";"
# 顯示安裝位置
Write-Host "gradle 位置:$((Get-Command gradle).Source)"
確認版本
gradle --version
看到 Gradle x.y.z 和 Java 版本即成功
更新
重跑選項 A 或 B 即可,新版會裝到新的版本資料夾,環境變數會移除舊版並換成新版
舊版資料夾會保留,確認新版沒問題後可手動刪除
沒有留言:
張貼留言