我是靠谱客的博主 光亮蜡烛,最近开发中收集的这篇文章主要介绍go.mod中遇到的问题----------解决问题1:go get 时timeout解决直接下载并改名字:关于go.mod中指定的依赖包存储位置参考:设置:查看运行下面的语句,下载所有依赖包关键参考GOPATH修改,附多个值,go get的话,会在默认第一个值的路径中,go.mod包依赖说的最清楚的go mod的指令go get下载github分支遇到go.mod文件中所述go1.14版的,需求:安装多个go的版本,根据goroot进行切换,其中gopath不准备改变,因为开启go mod的形,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题1:go get 时timeout

go: github.com/golang/groupcache@v0.0.0-20191027212112-611e8accdfc9: Get "https://goproxy.cn/github.com/golang/groupcache/@v/v0.0.0-20191027212112-611e8accdfc9.mod": dial tcp: lookup goproxy.cn on 127.0.1.1:53: read udp 127.0.0.1:40003->127.0.1.1:53: i/o timeout

解决直接下载并改名字:

在这里插入图片描述
改名字,与go.mod中一样

在这里插入图片描述

关于go.mod中指定的依赖包存储位置参考:

**目前所有模块版本数据均缓存在
$GOPATH/pkg/mod

​$GOPATH/pkg/sum

设置:

GO111MODULE=on
GOPROXY=https://goproxy.io

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct

查看

go env

备注

在这里插入图片描述
在这里插入图片描述
参考链接:https://blog.csdn.net/weixin_39003229/article/details/97638573

https://github.com/fenggolang/go-mod-demo

运行下面的语句,下载所有依赖包

go get ./…
在这里插入图片描述

关键参考

https://blog.csdn.net/qq_39611230/article/details/121232707

GOPATH修改,附多个值,go get的话,会在默认第一个值的路径中,

在这里插入图片描述

go.mod包依赖说的最清楚的

连接:
https://www.cnblogs.com/nickchen121/p/11517437.html
在这里插入图片描述

go mod的指令

如果下载所有依赖可以使用go mod download命令。
在这里插入图片描述

go get下载github分支

go mod支持语义化版本号,比如go get foo@v1.2.3,也可以跟git的分支或tag,比如go get foo@master,当然也可以跟git提交哈希,比如go get foo@e3702bed2。关于依赖的版本支持以下几种格式:

遇到go.mod文件中所述go1.14版的,需求:安装多个go的版本,根据goroot进行切换,其中gopath不准备改变,因为开启go mod的形式,直接到$gopath/pkd/mod下找包就可以,这个可以不变

在这里插入图片描述

安装两个版本较好的方式:

参考链接:https://jishuin.proginn.com/p/763bfbd6179b

删除老版本,安装新的

(1)uninstall old version of go

ubuntu16.04安装go1.13.4

删除老版本的go文件夹
sudo rm -rf /usr/local/go

sudo rm -rf /usr/bin/go

下载go安装包

wget https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz
1
在当前目录,解压安装包至特定目录

sudo tar -xzf go1.13.4.linux-amd64.tar.gz -C /usr/local
1
到这里就好了。

另附:

vi /etc/profile

export GOPATH= H O M E / g o e x p o r t G O R O O T = / u s r / l o c a l / g o e x p o r t P A T H = HOME/go export GOROOT=/usr/local/go export PATH= HOME/goexportGOROOT=/usr/local/goexportPATH=GOROOT/bin:$PATH

source /etc/profile

参考链接:https://blog.csdn.net/qq_41547659/article/details/107746281

(2)install new version

最新版go不一定是1.16,安装方法一样,在这里找到最新版本的go压缩包 https://studygolang.com/dl

原文=======================================

下载目录:
https://studygolang.com/dl

32位选 go1.16.linux-386.tar.gz
64位选 go1.16.linux-amd64.tar.gz

uname -a查看本机位数,注意查看本机系统位数
i386对应的是32位系统、而i686是i386的一个子集,x86_64主要是64位系统

wget https://studygolang.com/dl/golang/go1.16.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.16.linux-amd64.tar.gz
添加环境变量/etc/profile export PATH=$PATH:/usr/local/go/bin
source /etc/profile

开启go mod

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

安装多个go的版本并切换

(3)install go1.14

(3.1)
larry@larry-VirtualBox:~$ wget https://studygolang.com/dl/golang/go1.14.linux-amd64.tar.gz

sudo tar -C /usr/local/go1-14 -xzf go1.14.linux-amd64.tar.gz

把可执行的go名字改一下
larry@larry-VirtualBox:/usr/local/go1-14/go/bin$ sudo cp -r go go14

再改一下文件名,将最外层go文件设置成go14
larry@larry-VirtualBox:/usr/local/go14

(3.2) 将这个切换文件放到/usr/local/go/bin/的目录下,同时在PATH中去除路径/usr/local/go14/bin,以免go的调用出现歧义。****(非常重要)
比较优的切换方案(需要先执行下面的两行代码)
$ cat << EOF >/usr/local/go14/bin/go14
unset GOROOT
go env -w GOROOT="/usr/local/go14/"
/usr/local/go14/bin/go $@
EOF

$ chmod +x /usr/local/go14/bin/go14

遇到问题1:
bash: /usr/local/go14/bin/go14: 权限不够

解决方案1:

$ sudo bash -c “cat > /usr/local/go14/bin/go14” <<EOF
unset GOROOT
go env -w GOROOT="/usr/local/go14/"
/usr/local/go14/bin/go $@
EOF

$ sudo chmod +x /usr/local/go14/bin/go14

实际的代码如下:
larry@larry-VirtualBox:~$ sudo bash -c “cat > /usr/local/go14/bin/go14” <<EOF

unset GOROOT
go env -w GOROOT="/usr/local/go14/"
/usr/local/go14/bin/go @ E O F [ s u d o ] l a r r y 的 密 码 : l a r r y @ l a r r y − V i r t u a l B o x :   @ EOF [sudo] larry 的密码: larry@larry-VirtualBox:~ @EOF[sudo]larrylarry@larryVirtualBox:  sudo chmod +x /usr/local/go14/bin/go14

遇到问题2:
larry@larry-VirtualBox:~$ go14 env GOROOT
go14:未找到命令

解决方案2:
sudo gedit /etc/profile

export PATH=$PATH:/usr/local/go14/bin

source /etc/profile

这个source之后,在这个窗口下,可以执行,另外,开窗口仍然不可执行。
考虑重启电脑后,这个导入的路径才可以在其他窗口也正常使用,可以正常使用了

(3.3)
执行切换的语句

larry@larry-VirtualBox:~$ go14 env GOROOT
/usr/local/go14

larry@larry-VirtualBox:~$ go env GOROOT
/usr/local/go

larry@larry-VirtualBox:~$ go env GOROOT
/usr/local/go

最后

以上就是光亮蜡烛为你收集整理的go.mod中遇到的问题----------解决问题1:go get 时timeout解决直接下载并改名字:关于go.mod中指定的依赖包存储位置参考:设置:查看运行下面的语句,下载所有依赖包关键参考GOPATH修改,附多个值,go get的话,会在默认第一个值的路径中,go.mod包依赖说的最清楚的go mod的指令go get下载github分支遇到go.mod文件中所述go1.14版的,需求:安装多个go的版本,根据goroot进行切换,其中gopath不准备改变,因为开启go mod的形的全部内容,希望文章能够帮你解决go.mod中遇到的问题----------解决问题1:go get 时timeout解决直接下载并改名字:关于go.mod中指定的依赖包存储位置参考:设置:查看运行下面的语句,下载所有依赖包关键参考GOPATH修改,附多个值,go get的话,会在默认第一个值的路径中,go.mod包依赖说的最清楚的go mod的指令go get下载github分支遇到go.mod文件中所述go1.14版的,需求:安装多个go的版本,根据goroot进行切换,其中gopath不准备改变,因为开启go mod的形所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部