Go_ go mod 命令解决墙的问题详解编程语言
2023-06-13 09:11:48 时间
由于众所周知的原因,在下载一些库的时候会下载不了,比如 golang.org/x/ 相关的库。为此,网上出现了很多解决方案。
从 Go1.11 开始,Go 引入了 module,对包进行管理,通过 go mod 命令来进行相关操作。这里,我们基于 Go 目前最新版本 Go1.12,通过 module 来搭建 Goland 开发环境。
打开 Goland,创建 project,左侧选择 Go Modules(vgo),在 Proxy 中输入:IT虾米网 (这是下载墙外包的关键),如果不行,试试输入 IT虾米网
编写测试代码我们来试验通过 Colly 抓取数据
我们通过 Goland 创建一个 main.go 文件,粘贴上如下代码:
package main import ( "fmt" "github.com/gocolly/colly" func main() { c := colly.NewCollector() // Find and visit all links c.OnHTML("a[href]", func(e *colly.HTMLElement) { e.Request.Visit(e.Attr("href")) c.OnRequest(func(r *colly.Request) { fmt.Println("Visiting", r.URL) c.Visit("http://go-colly.org/")
这时候 Goland 并不能识别 github.com/gocolly/colly 这个包。我们执行:Run - Run go build main.go ,一段时间后,在我们项目下会生成 go.sum 文件,打开该文件,会发现把依赖都下载下来了。因为 colly 包依赖 golang.org/x/net 包,所以这个包也下载了。我们很方便的解决了“墙”的问题。
非 Goland 下的处理对于非 Goland 下的情况,我们可以通过设置环境变量 GOPROXY 来达到下载“墙”外包的目的:
export GOPROXY=https://athens.azurefd.net
module 模式还是很好用的,建议大家都升级到最新版本,尝试使用 module。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/18133.html
cgojava相关文章
- 2022-09-10:以下go语言代码输出什么?A:编译错误;B:49.0;C:49。 package main import ( “fmt“ ) func m
- 你有对象类,我有结构体,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang结构体(struct)的使用EP06
- 初识Go语言
- client-go 源码分析(4) - ClientSet客户端 和 DynamicClient客户端
- 2023-03-15:屏幕录制并且显示视频,不要用命令。代码用go语言编写。
- Go语言——Json处理
- go的数据类型-复合数据类型-struct(一)
- Go-标准库-log(一)
- Go-包管理-go get(一)
- Go-包管理-go mod(一)
- Go-包管理-go mod(二)
- Go语言sync.Map(在并发环境中使用的map)
- go pprof命令(Go语言性能分析命令)完全攻略
- go基础之–函数和map详解编程语言
- go语言的常量详解编程语言
- Go 语言的大版本更新:Go 2.0 安排上了
- 轻松搞定Go语言连接MySQL(go连接mysql)
- 使用 Kafka 和 MongoDB 进行 Go 异步处理
- SQL Server快速上手GO!(sqlserver go)
- Go语言与Linux:全新的开发环境体验(go语言linux)
- 部署Go语言快速连接Oracle实现轻松部署(go连接oracle简单)
- Go语言快速安装Oracle数据库(go语言安装oracle)
- 踏上oracle编程之路,Go(go oracle编程)
- 亚马逊推出革命性的线下便利店品牌——Amazon Go,完全抛弃结账环节