Linux 运行 go 项目报错:copy_file_range: bad file descriptor

这两天在 Linux 环境部署一个 Go 项目遇到一个报错:copy_file_range: bad file descriptor。网上查找各种方法,花了两天的时间,经过一番折腾后才解决,觉得非常有必要记录一下过程。

一、问题复现

安装完 Go、配置完 Go 环境以及 Beego 框架运行 Go 项目,一直报下面的错:

期间经过 Go 卸载重装、代码修改等一系列网上查找的解决方法,都无济于事,最终通过降 Go 版本成功运行项目,解决此问题。

二、解决方法

1. Linux 环境卸载 Go

先执行 go env 查看 GOROOT,我的 GOROOT=/usr/local/go,进入 /usr/local,删除 go 文件夹。

执行以下命令(因为我是在超级管理员下进行操作的,因此命令最前面不需要加 sudo)

rm -rf /usr/local/go

删除软链接:

rm /usr/bin/go /usr/bin/gofmt

2. Linux 环境安装 Go

首先使用 wget 下载 Go 安装包(因项目需要,我下的是 arm 架构下的 Go 版本)

附上一个 Go 安装包下载地址:Go下载 - Go语言中文网 - Golang中文社区 (studygolang.com)

wget https://studygolang.com/dl/golang/go1.14.12.linux-arm64.tar.gz

解压安装包:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wonz

创作不易,一块就行。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值