设置PowerShell的PATH后如何重载?Flutter安装脚本遇阻求助
解决PowerShell设置系统PATH后立即验证的问题
你遇到的问题是:修改系统级PATH后,当前PowerShell进程不会自动刷新环境变量,所以直接执行flutter --version会找不到命令。要在当前Shell中重载系统PATH而不是临时设置,可以通过以下方式实现:
重新加载系统级PATH到当前Shell
在脚本中添加以下命令,从系统(Machine)和用户(User)环境变量中读取最新的PATH,覆盖当前Shell的$env:Path:
# 重新加载系统和用户级别的PATH到当前Shell $env:Path = [Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + [Environment]::GetEnvironmentVariable("Path", "User")
添加后的完整脚本如下:
Write-Host "Installing Flutter..." -ForegroundColor Cyan $zipFile = "$env:TEMP\flutter.zip" Write-Host "Downloading..." (New-Object Net.WebClient).DownloadFile('https://storage.googleapis.com/flutter_infra_release/releases/stable/windows/flutter_windows_3.0.5-stable.zip', $zipFile) Write-Host "Unzipping..." Expand-Archive -Path "$zipFile" -DestinationPath "C:\src\flutter" -Verbose [Environment]::SetEnvironmentVariable('Path', "$([Environment]::GetEnvironmentVariable('Path', 'Machine'));C:\src\flutter\flutter\bin", 'Machine') # 重新加载最新的系统PATH到当前Shell $env:Path = [Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + [Environment]::GetEnvironmentVariable("Path", "User") flutter --version
说明
- 该命令会直接从系统环境变量中读取刚设置的PATH值,同步到当前PowerShell进程,这样执行
flutter --version就能验证系统PATH是否配置正确,而非临时添加路径。 - 注意确认解压后的路径是否正确:Flutter压缩包解压后会生成
flutter文件夹,所以C:\src\flutter\flutter\bin这个路径是正确的,如果解压结构有变化需要对应调整。
内容的提问来源于stack exchange,提问作者Poperton
相关产品推荐
相关产品推荐

