一尘不染

GOBIN not set: cannot run go install

go

我正在尝试为我的 main.go 文件安装我的自定义包。然而,当我跑

go install custom.go

我收到这个错误

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

如何设置GOBIN?


阅读 152

收藏
2021-12-09

共2个答案

一尘不染

自走1.11和introduction of Go modules, ,GOPATH不需要每个项目了,并默认为~/go全球工具/项目你会go get

[Go 1.162020 年第一季度)应默认GOBINGOPATH[0\]/bin.

但是现在,对于任何使用模块的项目,您都不会再有类似“ go install: no install location ...”的错误消息。


2014 年的原始答案:

检查你的GOPATH变量。
确保:

  • 你的消息来源在 GOPATH/src
  • bin在 GOPATH 文件夹中有一个文件夹。

请参阅GOPATH 环境变量(其中“DIR”是一个GOPATH文件夹):

bin目录保存已编译的命令。
每个命令都以其源目录命名,但只有最后一个元素,而不是整个路径。也就是说,带有 source in 的命令DIR/src/foo/quux安装到 中DIR/bin/quux,而不是DIR/bin/foo/quux. ” foo/” 前缀被去除,以便您可以添加DIR/bin到您的PATH以获取已安装的命令。

如果GOBIN设置了环境变量,命令将安装到它命名的目录而不是DIR/bin. GOBIN必须是绝对路径。


例如,这个线程说明了在 go build 在 之外完成的情况下会发生什么GOPATH/src

看起来您GOPATH已设置为~/go但您运行了go install命令~/dev/go

参见Go Build

Go 路径是包含 Go 源代码的目录树列表。咨询解决在标准 Go 树中找不到的导入。

如果你已经做了go build,你也可以尝试一个go install(否custom.go):你想安装包,而不是单个文件。

2021-12-09
一尘不染

我设置了 GOBIN 路径,这对我有用

export GOBIN=[WorkspacePath]/bin
2021-12-09