为了账号安全,请及时绑定邮箱和手机立即绑定

版本测试, 一段错误代码引发的血案

标签:
Nginx

起因:
最近在学习手写docker,看到了一段会编译错误的代码.

过程:

最近在学习docker,看到一段示例代码,每次编译时会报错.

因此, 无法继续下去, 只好在网上搜索解决方案,
用了很多时间, 找到给出的可以正常运行的代码:

// cmd.SysProcAttr.Credential = &syscall.Credential{Uid: uint32(1), Gid: uint32(1)}

cmd.SysProcAttr.UidMappings = []syscall.SysProcIDMap{
{ContainerID: 5001, HostID: syscall.Getuid(), Size: 1},
}
cmd.SysProcAttr.GidMappings = []syscall.SysProcIDMap{
{ContainerID: 5001, HostID: syscall.Getgid(), Size: 1},
}

然而,不见南墙心不死的我感觉也许是版本差异,
换到作者的版本(1.7.1)说不定就可以运行了,
我用的版本是(go1.9.1).
正好收藏里有个可以切换版本的gvm,于是折腾就开始了

部署

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
# 安装

 ls -al ~/.gvm
 // apt-get install binutils bison gcc make
 gvm  list
 gvm listall
 gvm install go1.7.1 -B
 gvm use go1.7.1
# 常用命令

 cd ~/
 git clone git@github.com:golang/go.git
 cd go
 git checkout -b 1.4.3 go1.4.3
 ls
 git branch
 cd src
 ./all.bash
# 编译环境

cp ~/go ~/go1.4 -rf

gvm install go1.7.1 --source=https://github.com/golang/go
# 墙

结论

一上午就这样过去了,总归还是有收获的, 于是到群里分享了自己的心得.
结果
大佬说一般开发用不到多版本,哭倒orz

本文由博客一文多发平台 OpenWrite 发布!

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消