0

0

在Windows PowerShell中配置Golang环境变量

P粉602998670

P粉602998670

发布时间:2026-01-12 11:34:02

|

121人浏览过

|

来源于php中文网

原创

Go 安装后需手动将 C:\Go\bin 加入 $env:PATH 用户变量,新开 PowerShell 窗口后用 where.exe go 验证路径及可执行性,避免架构不匹配或杀毒软件拦截。

在windows powershell中配置golang环境变量

确认 Go 安装路径是否已正确写入 $env:PATH

PowerShell 不会自动继承 Windows 图形界面设置的系统环境变量,尤其是你通过 MSI 安装 Go 后,它可能只写入了「系统变量」或「用户变量」,但当前 PowerShell 会话未刷新。运行以下命令检查:

echo $env:PATH | Select-String "go"

如果没输出,说明 go 目录(如 C:\Go\bin)不在当前会话的 $env:PATH 中。这不是安装失败,而是路径未加载。

  • 临时添加(仅当前会话有效):$env:PATH += ";C:\Go\bin"
  • 永久添加需用 [Environment]::SetEnvironmentVariable,且必须指定作用域"User""Machine"
  • 修改后新开 PowerShell 才能生效,RefreshEnv(来自 PsGet)不是默认命令,别依赖

[Environment]::SetEnvironmentVariable 永久写入用户变量

推荐优先写入「当前用户」变量,避免权限问题。执行以下命令(以管理员身份运行非必需):

[Environment]::SetEnvironmentVariable("PATH", $env:PATH + ";C:\Go\bin", "User")

注意:"User" 表示写入 HKEY_CURRENT_USER,普通用户即可执行;若用 "Machine",必须以管理员身份运行 PowerShell,否则静默失败。

立即学习go语言免费学习笔记(深入)”;

TGroupon团购系统
TGroupon团购系统

TGroupon团购系统是以php+MySQL进行开发的团购网站系统,首页能同时显示多个正在进行中的团购商品,将团购中的商品最大限度的展示在用户面前,对提升网站整体销售量有着很大的帮助。安装说明:1:环境:windows/LINUX/UNIX/apache,mysql,php2:所用语言: php,javascript,xml,html3:将程序放置空间或者服务器上,要求uploadfiles目录

下载
  • 路径末尾不加反斜杠(\),否则 go version 可能报 command not found
  • 不要用 $env:GOCACHE$env:GOPATH 的赋值来“替代” PATH 配置——它们是 Go 运行时变量,和可执行文件发现无关
  • 修改后必须新开一个 PowerShell 窗口,Get-ChildItem Env:\PATH 可验证是否包含 C:\Go\bin

验证 go 命令是否真正可用

仅检查 go 是否在 $env:PATH 不够,还要确认二进制本身可执行且无权限拦截:

where.exe go

该命令会返回实际找到的 go.exe 路径(如 C:\Go\bin\go.exe)。若报错 INFO: Could not find files for the given pattern,说明路径配置错误或安装不完整。

  • 如果返回多个路径,说明有旧版本残留(如 Chocolatey、Scoop 安装的 Go),优先清理非官方来源
  • 某些杀毒软件(如 McAfee、Windows Defender 的“受控文件夹访问”)会拦截 go.exe 执行,表现为无输出、卡住或退出码 0x1
  • 运行 go version 时若提示 fork/exec C:\Go\bin\go.exe: %1 is not a valid Win32 application,说明 Go 版本与系统架构不匹配(例如在 64 位系统装了 32 位 Go)

补充:设置 GOPATHGOCACHE(可选但建议)

从 Go 1.13 起,GOPATH 默认为 %USERPROFILE%\go,通常无需手动设。但如果你要自定义工作区或避免 C 盘爆满,可显式配置:

[Environment]::SetEnvironmentVariable("GOPATH", "D:\mygo", "User")

同理,GOCACHE 默认在 %LOCALAPPDATA%\go-build,若 SSD 空间紧张,可迁移到机械盘:

[Environment]::SetEnvironmentVariable("GOCACHE", "D:\go-cache", "User")
  • 这些变量只需设置一次,无需加入 PATH
  • 设置后重启 PowerShell,再运行 go env GOPATHgo env GOCACHE 确认值已更新
  • 不要把 GOPATH\bin 加进 PATH——那是 go install 生成的可执行文件位置,不是 Go 自身的 go 命令所在
PowerShell 中配置 Go 环境变量的关键,从来不是“加几行代码”,而是搞清「哪一级变量被改了」「改完对谁生效」「哪个路径才是 go.exe 真正所在」。很多人反复重装 Go,其实只是没意识到新窗口才能读到刚写的 User PATH。

相关专题

更多
golang如何定义变量
golang如何定义变量

golang定义变量的方法:1、声明变量并赋予初始值“var age int =值”;2、声明变量但不赋初始值“var age int”;3、使用短变量声明“age :=值”等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

178

2024.02.23

golang有哪些数据转换方法
golang有哪些数据转换方法

golang数据转换方法:1、类型转换操作符;2、类型断言;3、字符串和数字之间的转换;4、JSON序列化和反序列化;5、使用标准库进行数据转换;6、使用第三方库进行数据转换;7、自定义数据转换函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

226

2024.02.23

golang常用库有哪些
golang常用库有哪些

golang常用库有:1、标准库;2、字符串处理库;3、网络库;4、加密库;5、压缩库;6、xml和json解析库;7、日期和时间库;8、数据库操作库;9、文件操作库;10、图像处理库。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

337

2024.02.23

golang和python的区别是什么
golang和python的区别是什么

golang和python的区别是:1、golang是一种编译型语言,而python是一种解释型语言;2、golang天生支持并发编程,而python对并发与并行的支持相对较弱等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

208

2024.03.05

golang是免费的吗
golang是免费的吗

golang是免费的。golang是google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言,采用bsd开源协议。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

388

2024.05.21

golang结构体相关大全
golang结构体相关大全

本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

194

2025.06.09

golang相关判断方法
golang相关判断方法

本专题整合了golang相关判断方法,想了解更详细的相关内容,请阅读下面的文章。

189

2025.06.10

golang数组使用方法
golang数组使用方法

本专题整合了golang数组用法,想了解更多的相关内容,请阅读专题下面的文章。

192

2025.06.17

Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

3

2026.01.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 3.6万人学习

Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号