我正在尝试为要安装的工具构建Go文件,但出现以下错误:
pgwatch2.go:26:2: cannot find package "gopkg.in/yaml.v2" in any of:
/usr/local/go/src/gopkg.in/yaml.v2 (from $GOROOT)
/home/postgres/go/src/gopkg.in/yaml.v2 (from $GOPATH)"gopkg.in/yaml.v2" in any of:
我意识到我需要获取 Go 模块 gopkg.in/yaml.v2 但我的服务器无法访问互联网。因此,我尝试了2种对我没有帮助的解决方案:
1) Yum install golang-gopkg-yaml-devel-v2.noarch
2)我下载了源文件(yaml-2.2.1.zip)并将它们放入服务器中,但我不知道如何从这里继续。如何安装 yaml?我尝试解压缩并使用go安装到我想要的目录中。 这是我收到的错误。
go install: no install location for directory /PostgreSQL/pgwatch2/pgwatch2-master/pgwatch2/yaml-2.2.1 outside GOPATH
For more details see: 'go help gopath'
有人可以给我一些建议吗?
如果您不希望从互联网访问您的服务器,那么您可以添加一个位于公有子网上的新实例,然后在该实例中创建 NAT 服务器并将您的服务器连接到该 nat 实例,以便服务器可以从互联网下载,但无法通过公共 IP 从互联网访问它。
通过 go get 安装
go get gopkg.in/yaml.v2
并确保您设置了 GOPATH,如果没有
在 .bashrc(Linux) 中进行修改以添加以下行。
export GOPATH=<path>
更新
如果您不想尝试上述方法,可以尝试此操作。
将yaml-2.2.1.zip
的内容提取到GOPATH/src/gopkg.in/yaml.v2
。
这应该有效,但是如果您有很多软件包,这可能会很累。