~/src/go-statsd-client> echo $GOPATH
/Users/me/gopath
~/src/go-statsd-client> echo $GOROOT
/usr/local/Cellar/go/1.1.1\
~/src/go-statsd-client> go install
go install: no install location for directory /Users/me/src/go-statsd-client outside GOPATH

无论项目处于什么 struct 中,它总是以相同的信息失败.Go Build完美无瑕.

这是我的go env美元

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/me/gopath"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.1.1"
GOTOOLDIR="/usr/local/Cellar/go/1.1.1/pkg/tool/darwin_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-common"
CGO_ENABLED="1"

这是在Mac OSX Mountain Lion和go上安装的brew 软件.

推荐答案

如果没有为go install提供任何参数,则默认情况下,它会try 在当前目录中安装程序包.错误消息告诉您它不能这样做,因为当前目录不是$GOPATH的一部分.

您可以执行以下任一操作:

  • $GOPATH定义为您的$HOME(export GOPATH=$HOME).
  • 将您的信号源移动到当前的$GOPATH(mv ~/src/go-statsd-client /User/me/gopath)范围内.

在这两种情况下,进入go-statsd-client目录并键入go install将起作用,从文件系统中的任何位置键入go install go-statsd-client也将起作用.构建的二进制文件将进入$GOPATH/bin.

作为一个不相关的建议,您可能希望使用域名来命名包的名称空间,以避免名称冲突(例如,如果您保存源代码的地方是github.com/you/go-statsd-client).

Go相关问答推荐

租户GUID X的租户不存在self 邮箱帐户的租户(我是唯一的成员)

可以';t从主机连接到ScyllaDB容器

如何测试 Zerolog 记录器引发类型错误的日志(log)事件?

Kperf 构建失败

使用 httptest 对 http 请求进行单元测试重试

Github Actions Go lambda 项目不同的 sha256sums

使用 Go 根据 /etc/shadow 文件中的散列密码验证密码

有没有办法约束(通用)类型参数?

获取不带类型参数的泛型 struct 的类型名称

如何过滤来自 fsnotify 的重复系统消息

从数据库中带有 imageurl 的文件夹中获取图像,并在我的浏览器中用 golang 中的 echo 显示

如何编写一个以字符串或错误为参数的通用函数?

使用无服务器工作流 go sdk 时出现间歇性 JSON 解组错误

关系不存在 GORM

在 connect-go 拦截器中修改响应体

Unescape 在 rss 中两次逃脱了标题

使用 bolthold 3 条件进行 boltDB 查询

有没有办法在一个 goroutine 返回后延迟后取消上下文?

gob 解码器仅返回数组中的第一个元素

如何允许可转换为指针的泛型类型参数化另一种可转换为指针的泛型类型?