Go Modules未初始化导致“no required module provides package”错误,需在项目根目录执行go mod init module-name生成go.mod文件后方可正常go run。

go run 提示 “no required module provides package”
这不是代码错,是 Go Modules 没初始化。Go 1.16+ 默认启用模块模式,go run 不再从 GOPATH/src 自动找包,而是依赖项目根目录下的 go.mod。
- 进入你新建的项目根目录(不是
GOPATH/src下某个子文件夹,就是你自己mkdir hello那个空目录) - 运行
go mod init example.com/hello(模块名可任意,不需真实域名) - 生成
go.mod后再执行go run main.go就能通过 - 别再把项目硬塞进
%GOPATH%\src—— Modules 模式下,项目可放任意路径
编译出的 .exe 双击闪退或报 missing DLL
Windows 上默认启用 cgo,导致二进制依赖 VC++ 运行时(如 VCRUNTIME140.dll)。这不是 Go 程序本身的问题,而是链接行为导致的部署障碍。
Windows 桌面自动化技能,支持鼠标控制(移动/点击/拖拽/滚轮/截图)、键盘输入(文字输入/按键/组合键)、窗口管理(查找/聚焦/最大化/最小化/关闭/移动)、截图并发送文件。提供两种截图方式:Python pyautogui 截图(集成在自动化流程中)和 PowerShell + .NET 零依赖截图(支持区域截图和多显示器)。当用户需要自动化 Windows 桌面操作、控制鼠标键盘、管理窗口、执行 GUI 自动化任务、截图发送文件时使用。
- 最简解法:
CGO_ENABLED=0 go build -o app.exe(CMD 下用set CGO_ENABLED=0 && go build -o app.exe) - 若项目必须用 cgo(比如调用 SQLite 或系统 API),则需安装 Visual Studio Build Tools,而非只装 Go
-
CGO_ENABLED=0会禁用基于系统 DNS 的解析(改用纯 Go 实现),注意是否影响你的网络逻辑
GoLand 调试时报 “Cannot run program D:\...\myApp.exe”
这是 Windows 安全机制拦截了未签名的本地构建文件,常见于 SmartScreen、WDAC 或 AppLocker,和 Go 代码无关。
- 右键生成的
.exe→ 属性 → 勾选底部“解除锁定” → 应用 → 确定 - 如果没看到该选项,说明文件已解锁或策略更严格,此时需改用 GoLand 的 Attach to Process 模式:终端先
go run main.go启动,再按Ctrl+Alt+F5关联进程调试 - 确保 GoLand 输出目录(如
out/production)有写入和执行权限,尤其在 OneDrive 或受控用户目录下
编译/运行突然变慢(30 秒以上)
不是杀软,也不是 CPU 核心数问题,Win11 近期更新引入的 MSPCMANAGER 或 MSMANAGER 系统服务会对 Go 编译链路做深度扫描,直接拖慢整个流程。
- 打开「服务」(
services.msc),找到PCManager Service Store或类似名称的服务(可能显示为MSPCMANAGER) - 右键 → 停止,并设启动类型为「手动」或「禁用」
- 重启 GoLand,验证:一个
fmt.Println("ok")应该在 0.3 秒内完成编译并输出 - 该服务主要协调 Microsoft Store 生态,关闭后不影响日常使用,仅可能延迟部分 Store 推送的安全补丁
go mod init 是否执行、CGO_ENABLED 是否显式设置、文件是否被系统标记为“来自互联网”,以及那个藏得挺深的 MSPCMANAGER 服务。

















