如何在golang中构建.a文件

时间:2017-06-24 03:16:52

标签: go

我尝试go build xxx.go,没有文件输出,也没有错误提示。我搜索并发现一个解决方案,说应该使用go install xxx.go,得到一个错误:

go install: no install location for .go files listed on command line (GOBIN not set)

我搜索了这个错误并发现解决方案设置了环境变量GOBIN,GOPATH和我做了但它仍然不起作用。

2 个答案:

答案 0 :(得分:0)

  

go install:命令行中列出的.go文件没有安装位置(未设置GOBIN)

在GOPATH下创建一个与bin平行的src目录。

例如:

GOPATH=/home/user/go
GOBIN=$GOPATH/bin
评论互动后

编辑

创建go工作区,请参阅workspace doc

例如:

目录结构:GOPATH为/home/user/go

/home/user/go/src/pic-project
  └── pic.go

转到/home/user/go/src/pic-project

go build pic.go

ls -ltr
-rw-r--r--  1 jeeva  staff       84 Jun 23 23:55 pic.go
-rwxr-xr-x  1 jeeva  staff  1624096 Jun 24 00:02 pic

二进制文件位于同一目录中。

现在,让我们做go install,您可以通过以下方式执行install命令。

内部项目目录(二进制文件将在$GOPATH/bin目录中)

go install

或从终端的任何地方开始 -

go install pic-project

此外,如果您有包含主要功能和子包的项目。执行go install <import-path>,它将生成二进制和子包作为.a文件。

go install github.com/user/foo

您会在foo.a目录下找到$GOPATH/pkg/GOOS_GOARCH/github.com/user/foo.a,在$GOPATH/bin目录中找到二进制文件。

答案 1 :(得分:0)

我解决了自己。 关键是:在go build xxx.go类型之后,没有任何生成,但它不是错误!

我必须继续输入go install sourcedir,源必须在目录中,然后我在.a文件夹中找到了pkg文件。