go语言版本测试, 一段错误代码引发的血案
2019-11-11 15:05
1396 查看
起因:
最近在学习手写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 发布!
最新内容欢迎关注公众号:
相关文章推荐
- 一段代码引发的血案
- 一段代码引发的血案
- 一段代码引发血案(查看你的杀毒软件灵敏度)
- 第一个错误的代码版本
- 实现一个无锁的Stack,并写一段测试代码(多线程访问),证明这个Stack是线程安全的。给出程序以及运行的截图。
- 怎样用Java编写一段代码引发内存泄露
- node测试一段代码执行的时间长度(console.time,console.timeEnd)
- 一个Sqrt函数引发的血案——神奇的代码
- SSIS 错误代码 没有可用的 OLE DB 访问接口 SSIS 的 64 位版本中不支持 Excel 连接管理器
- 在Android Studio中测试一段代码执行结果
- QT OpenGL中文教程在QT4版本后的错误代码更改(一)
- 网上粘贴一段代码后程序出现错误:error C3872: "0xa0": 此字符不允许在标识符中使用
- 一段测试NSArray和NSDictionary的代码
- js构造函数原型(prototype)问题分析(一段烂代码引发的博客)
- 代码审查工具Collaborator v10版本发布,新增强大的缺陷和错误跟踪功能
- 【APP】python版本低引发python脚本运行错误
- 解决Android代码中遇到高版本API的错误提示
- 代码审查工具Collaborator v10版本发布,新增强大的缺陷和错误跟踪功能
- 由一段 “javascript css 照片切换代码” 引发的深入研究
- 一段Golang代码引发的思考