起因:
最近在學(xué)習(xí)手寫docker,看到了一段會編譯錯誤的代碼.
過程:
最近在學(xué)習(xí)docker,看到一段示例代碼,每次編譯時會報錯.
因此, 無法繼續(xù)下去, 只好在網(wǎng)上搜索解決方案,
用了很多時間, 找到給出的可以正常運行的代碼:
// 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
# 編譯環(huán)境
cp ~/go ~/go1.4 -rf
gvm install go1.7.1 --source=https://github.com/golang/go
# 墻
結(jié)論
一上午就這樣過去了,總歸還是有收獲的, 于是到群里分享了自己的心得.
結(jié)果
大佬說一般開發(fā)用不到多版本,哭倒orz
專題系列文章分享中. 碼字不易.
求分享,求點贊.
本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!
最新內(nèi)容歡迎關(guān)注公眾號:
https://upload-images.jianshu.io/upload_images/20093046-b92459e3768b1db1.jpeg