问题描述
尝试通过运行 time ./make.bash
命令从 src
目录的仓库中构建 Go 源代码,但第一次构建成功,第二次和第三次构建失败。在另一个版本的 Go 源代码上运行 time ./make.bash
命令两次成功。
原因分析
在第一次构建时,Go 代码可以正常构建,但在第二次和第三次构建时,出现了 panic: LoadImport called with empty package path [recovered] 错误。这可能是由于环境变量设置不正确导致的。
解决方案
将以下内容添加到 go env
的 .bash
文件中:
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH
然后再次尝试运行构建命令,看看是否能够成功构建 Go 代码。
在macOS上安装Go时遇到了问题,无法下载go1.23版本的工具链。请尝试以下方法解决问题:
- 确保您的网络连接正常。
- 检查您的GOPATH和GOROOT环境变量是否设置正确。
- 尝试使用
go env -w GO111MODULE=on
命令启用Go Modules功能。 - 如果仍然无法解决问题,可以尝试手动下载并安装Go。访问Go官方网站(https://golang.org/dl/)下载适用于macOS的Go安装包,然后按照官方文档的说明进行安装。
8条答案
按热度按时间5w9g7ksd1#
类似于 #60230
brgchamk2#
相似问题
main
package in GOPATH mode when a go.work file exists #58767="
as build path #49137(如果这个有帮助或无帮助,请给表情投票;欢迎在 this discussion 中提供更详细的反馈。)
ztmd8pv53#
我尝试了,使用非常相似的配置(Darwin-amd64,使用1.22.4作为构建编译器,在tip上构建,goenv中类似的设置),但无法重现。
0x6upsns4#
我尝试了,使用非常相似的配置(Darwin-amd64,使用1.22.4作为构建编译器,在tip上构建,goenv中类似的设置),但无法重现。
这并不总是为我重现。自从提交问题以来,我已经尝试了几次。
yqlxgs2m5#
根据OP中所述,我比较了两个版本的源代码构建时间,一个是我修改过的,一个是我没有修改过的。为了防止我误报哪个失败了,我对源代码所做的更改导致了以下pull请求,显然这个pull请求不能对这个问题中报告的失败类型负责。
p8ekf7hl6#
@MikeMitchellWebDev,在哪个提交上运行make.bash?我理解构建不能可靠地失败,但你仍然能够偶尔重现吗?
kokeuurv7#
我在
commit 6d93de2c110f66457f103c33ba496ff2e2bf33af
上运行make.bash。今天在commit ea537cca314d9da5365eeefcc375410c76e93b36
上,我两次运行了time ./make.bash
,没有出现任何故障。eqqqjvef8#
我尝试在
6d93de2c110f66457f103c33ba496ff2e2bf33af
上使用Go 1.22.4引导工具链运行make.bash,但无法重现问题。如果再次出现问题,我们应该关闭此问题并重新打开吗?如果我们能得到导致故障发生的复现说明,例如每五次尝试中有一次发生故障,即使不是一致的,这对我们诊断和修复问题也会很有帮助。