iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >golang中包无法引入问题如何解决
  • 653
分享到

golang中包无法引入问题如何解决

2023-07-05 13:07:51 653人浏览 独家记忆
摘要

这篇文章主要讲解了“golang中包无法引入问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang中包无法引入问题如何解决”吧!问题背景开发环境区分不同网段,同一个程序引入到

这篇文章主要讲解了“golang中包无法引入问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang中包无法引入问题如何解决”吧!

问题背景

开发环境区分不同网段,同一个程序引入到另一个环境后,对应的包无法下载

问题现象

程序导入另一个环境后,初始化操作就是下载包:执行go mod tidy后,出现下面错误

go: GitHub.com/Sirupsen/logrus@v1.0.1: Get " https://proxy.golang.org/github.com/Sirupsen/logrus/@v/v1.0.1.mod": dial tcp: lookup proxy.golang.org : no such host

或者出现以下错误

go: github.com/Sirupsen/logrus@v1.0.1: Get " Https://proxy.golang.org/github.com/Sirupsen/logrus/@v/v1.0.1.mod": dial tcp: lookup proxy.golang.org : getaddrinfow: This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server

查看go.mod后,发现很多报红,无法下载对应的版本包,查阅相关资料,对go.mod有了一个深入了解

go.mod文件定义module路径以及列出其他需要在build时引入的模块的特定的版本。

module go_start go 1.18 require (    github.com/fsnotify/fsnotify v1.6.0    github.com/gin-gonic/gin v1.8.1    github.com/go-sql-driver/mysql v1.6.0    github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible    github.com/shirou/gopsutil v2.21.11+incompatible    github.com/spf13/viper v1.14.0    github.com/valyala/fasthttp v1.40.0    github.com/vkcom/engine-go v0.0.0-20181122144534-e2cc962e10cc    github.com/wxnacy/wgo v1.0.4    go.uber.org/zap v1.23.0    gopkg.in/yaml.v3 v3.0.1)

如上go.mod文件:声明go_start路径作为module的根目录;go的运行版本为1.18;同时也声明了module依赖特定版本的github.com/fsnotify/fsnotify v1.6.0和github.com/gin-gonic/gin v1.8.1等等

问题解决

根据报错,尝试举措如下

1、强制开启GO111MODULE

go env -w GO111MODULE=on

GO111MODULE开启和关闭对Go的包无论是导入,还是下载使用,都有着非常大的区别,老版本可以说就没有包管理器,无法实现类似npm install或者pip install -r requirements这样的自动导入所有需要的包。并且go项目也被限制在了go的PATH文件夹中,导入也需要写较长的路径,十分不方便。GO111MODULE的出现就是用来解决上述所有的问题。

2、切换代理

查询了一下当前环境的GOPROXY地址:

go env GOPROXY> http://另一个网段网络:端口/仓库地址/,direct

执行命令:

go env -w GOPROXY=http://另一个网段网络:端口/仓库地址/,direct

重新执行命令go mod tidy,完美通过!

感谢各位的阅读,以上就是“golang中包无法引入问题如何解决”的内容了,经过本文的学习后,相信大家对golang中包无法引入问题如何解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: golang中包无法引入问题如何解决

本文链接: https://www.lsjlt.com/news/351827.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作