无法加载包: 包 .: 没有可构建的 Go 源文件

  • 本文关键字:构建 源文件 Go 加载 go
  • 更新时间 :
  • 英文 :


错误信息如下:

% go get     
can't load package: package .: no buildable Go source files in /Users/7yan00
% echo $GOPATH     
/Users/7yan00/Golang

你如何排除这个错误?

确保您在Go项目源文件夹(如/Users/7yan00/Golang/src/myProject)中使用该命令。

另一种选择(类似于这个错误)是使用-d选项(参见go get命令)

go get -d

-d标志指示下载完包后停止;也就是说,它指示get不要安装这些包。

看看这对你的情况是否有帮助。


但更一般地说,正如这篇文章所描述的:

go get是用于包,而不是用于存储库。

如果你想要一个特定的包,比如go.text/encoding,那么使用

go get code.google.com/p/go.text/encoding

如果您想要该存储库中的所有包,使用...表示:

go get code.google.com/p/go.text/...

您应该检查$GOPATH目录。如果包名称的目录为空,则go get不会从存储库下载包。

例如,如果我想从它的github存储库中获得github.com/googollee/go-socket.io包,并且在$GOPATH中已经有一个空目录github.com/googollee/go-socket.io, go get 下载包,然后抱怨目录中没有可构建的Go源文件。首先删除所有空目录

另一个可能的原因:

不能加载package: ....:没有可构建的Go源文件

表示正在编译的源文件包含:

// +build ignore

在这种情况下,文件被忽略并且不能按要求构建。此行为记录在https://golang.org/pkg/go/build/

为我的情况解决这个问题:

我必须指定一个更具体的子包来安装。

错:

go get github.com/garyburd/redigo

正确的:

go get github.com/garyburd/redigo/redis

如果您想要该存储库中的所有包,使用...表示,如:

go get code.google.com/p/go.text/...

你可以尝试从mod

下载软件包

go get -v all

我有这个确切的错误代码,检查我的存储库后发现没有go文件,但实际上只是更多的目录。所以对我来说,这更像是转移注意力,而不是一个错误。

我建议你做

去env

并确保一切正常,检查操作系统中的环境变量,并检查确保shell (bash或w/e)没有通过.bash_profile或.bashrc文件危及它。好运。

最新更新