概述
问题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]larry的密码:larry@larry−VirtualBox: 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的形所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复