go - 从本地文件安装 gopkg.in/yaml.v2 (Go)
问题描述
我正在尝试为要安装的工具构建 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 但我的服务器无法访问互联网。因此,我尝试了两种对我没有帮助的解决方案:
1) 百胜安装 golang-gopkg-yaml-devel-v2.noarch
2)我下载了源文件(yaml-2.2.1.zip)并将它们放在服务器中,但我不知道如何从这里继续。我如何安装yaml?我尝试解压缩并使用 go install 进入我想要的目录。这是我收到的错误。
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'
有人可以给我一些建议吗?
解决方案
如果您不希望从 Internet 访问您的服务器,那么您可以添加一个位于公共子网上的新实例,然后在该实例中创建一个 nat 服务器并将您的服务器连接到该 nat 实例,以便服务器可以从互联网,但无法通过公共 IP 从互联网访问。
通过 go get 安装
go get gopkg.in/yaml.v2
并确保你设置了 GOPATH,如果没有
在 .bashrc(linux) 中进行修改以添加以下行。
export GOPATH=<path>
更新
如果你不想尝试上面的方法,你可以试试这个。
提取yaml-2.2.1.zip
to的内容GOPATH/src/gopkg.in/yaml.v2
。
这应该可以,但是如果您有很多包,这可能会很累。
推荐阅读
- python - Python交互终端结果与脚本结果不一致
- php - php - 在 exec() 中转义 php 变量
- python - numpy.ndarray 的 numpy.argwhere 的替代函数是什么?
- sql - 如何在 T-SQL 连接查询中使用 IF-ELSE 语句?
- mysql - 选择一列 + 另一列,最大日期
- ruby-on-rails - Ruby on Rails - 社交分享按钮宝石;修改自动填充的内容
- php - 如何检查我的ipn页面是否被coinbase ping webhook通知调用
- powershell - 移动桌面项目
- swift - 如何在具有自己的登录/注册系统的应用上实现非消耗性应用内购买?
- python - 在 Python 中从 XML 中提取数据