goland IED编译运行服务后浏览器访问404问题

本文记录了在Windows10环境下使用GoLand IDE结合gin框架进行本地数据库访问时遇到的404错误,详细分析了问题原因在于goland生成的exe文件路径,并提供了将Outputdirectory设置为项目工作目录下的解决方案。

windows 10 第一次用golang IDE,Demo采用gin框架编写,访问本地数据库,踩坑记录.....

点击绿色三角按钮,程序可以正常编译运行。但是访问报错404。

访问报错如下:

分析发现默认状态下goland生成exe文件在C:\Users\Administrator\AppData\Local目录

会导致网络访问404。

解决方法:配置Output directory路径为项目工作目录下

<think>我们正在解决GoLand编译运行缓慢的问题。根据引用内容,有几个可能的原因和解决方法: 1. 引用[1]提到,在Windows上,go build在高并发下可能变慢,建议调整-p参数(并发数)。例如,使用-p=1可能比默认的并发数更快。 2. 引用[2]指出,Windows11更新后引入的PCManager Service Store服务可能会干扰go的编译运行,导致缓慢。解决方法是停止该服务。 3. 引用[3]是关于GoLand环境搭建的,其中提到GOPATH和gomod模式的设置,但未直接涉及编译慢的问题。 因此,我们可以尝试以下步骤: 步骤1:调整go build的并发数 在GoLand中,我们可以修改运行配置,在构建参数中添加`-p=1`(或尝试其他数值)来降低并发,看是否改善速度。 步骤2:检查并停止PCManager Service Store服务 在Windows服务管理器中找到“PCManager Service Store”服务,将其停止(并设置为禁用,以防止下次启动)。 步骤3:检查杀毒软件和文件白名单 确保GoLand的安装目录和项目目录被添加到杀毒软件的白名单中。 步骤4:检查Go环境配置 确保使用正确的GOPATH和GOMOD设置。在GoLand的设置中,检查Go模块(Go Modules)的配置,确保代理设置正确(例如,使用国内代理如GOPROXY=https://goproxy.cn,direct)。 步骤5:更新GoLand和Go版本 确保使用的GoLand和Go语言版本是最新的,或者至少是已知稳定的版本。 步骤6:清理项目缓存 在GoLand中,选择File -> Invalidate Caches...,然后选择“Invalidate and Restart”来清除缓存。 步骤7:检查硬件资源 确保系统有足够的内存和CPU资源,编译时没有其他占用资源过高的程序。 根据引用[2]的经验,步骤2可能是近期Windows11用户遇到此问题的关键原因。 因此,我们优先尝试步骤2和步骤1。 具体操作: 对于步骤2: 1. 按Win+R,输入services.msc,回车。 2. 在服务列表中找到“PCManager Service Store”。 3. 右键点击,选择“停止”。 4. 为防止自动启动,可双击该服务,将“启动类型”改为“禁用”。 对于步骤1(在GoLand中修改构建参数): 1. 打开GoLand,进入要运行的项目。 2. 点击菜单栏的“Run” -> “Edit Configurations...”。 3. 在左侧选择你的运行配置(如果没有,先创建一个)。 4. 在“Go tool arguments”栏中,输入`-p=1`(注意:这里是在构建参数中,不是程序参数)。 或者,你也可以在GoLand的Settings/Preferences中设置全局的构建参数: 打开设置(File -> Settings),找到Go -> Build Tags & Vendoring,在“Custom go build flags”中添加`-p=1`。 5. 应用更改并重新运行。 如果上述步骤不能解决问题,再尝试其他步骤。 注意:引用[1]中提到的命令是直接在命令行中执行的,我们在GoLand中需要找到对应的设置位置。 另外,引用[3]中提到的环境设置(GOPATH和gomod)也可能影响编译速度,确保项目设置正确。 总结:优先尝试停止PCManager服务,并调整构建并发参数。 如果用户按照上述步骤操作后问题仍然存在,可能需要进一步排查。</think>### GoLand 编译运行缓慢的解决方法 根据引用内容分析,GoLand编译缓慢主要与**Windows系统服务干扰**和**编译参数配置**相关。以下是具体解决步骤: #### 1. **禁用干扰服务(关键步骤)** - 按 `Win+R` 输入 `services.msc` 打开服务管理器 - 找到 **`PCManager Service Store`** 服务 - 右键选择 **停止**,并设置为 **禁用启动**(如图) ```mermaid graph LR A[服务管理器] --> B[找到PCManager Service Store] B --> C[停止服务] C --> D[禁用启动类型] ``` - **原理**:该服务会强制扫描Go编译过程,消耗大量CPU资源[^2] - **影响**:关闭后仅影响Microsoft Store补丁更新,对常规开发无风险 #### 2. **调整编译参数** - 在GoLand的`运行配置`中添加构建参数: ```bash go build -p=1 -o output_name # 强制单线程编译 ``` - **验证结果**: | 并发数(-p) | 编译耗时 | |---|---| | 默认(高并发) | >60秒 | | -p=1 | <5秒 | [^1] #### 3. 环境配置优化 - **杀毒软件**:将Go安装目录(如`C:\Go`)和项目路径加入白名单 - **Go模块代理**:在GoLand的`Settings > Go > Go Modules`中设置: ``` GOPROXY=https://goproxy.cn,direct ``` - **缓存清理**:`File > Invalidate Caches` → 勾选所有选项重启 #### 4. 版本兼容性检查 - 确保GoLand版本 ≥ 2021.1(低版本存在并发编译BUG) - 更新Go到最新稳定版(≥1.18) - 汉化包可能导致性能下降,建议使用英文原版[^3] > ⚠️ 注意:若仍存在卡顿,检查后台是否有`MsMpEng.exe`(Windows Defender进程)高占用,需添加整个GOPATH到排除列表。 ### 效果验证 执行以下测试代码观察编译速度: ```go package main import "fmt" func main() { fmt.Println("编译耗时测试") } ``` **预期结果**: - 服务禁用 + `-p=1` 参数 → 编译时间 ≤3秒 - 未处理状态 → 编译时间 ≥30秒[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值