成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

小技巧!Mac 環(huán)境下編譯 Go 服務(wù)

開發(fā) 后端
本篇分享來源于上午和同事的討論。大部分工程師都使用 Mac 做為開發(fā)環(huán)境,平常 local 編譯 go 代碼沒什么問題,偶爾需要 linux binary, 交叉編譯足夠了。

 [[404330]]

本文轉(zhuǎn)載自微信公眾號「董澤潤的技術(shù)筆記」,作者董澤潤。轉(zhuǎn)載本文請聯(lián)系董澤潤的技術(shù)筆記公眾號。

背景

本篇分享來源于上午和同事的討論。大部分工程師都使用 Mac 做為開發(fā)環(huán)境,平常 local 編譯 go 代碼沒什么問題,偶爾需要 linux binary, 交叉編譯足夠了

  1. GOOS=linux GOARCH=amd64 go build main.go 

比如上面指定 GOOS 是 linux, GOARCH 平臺是 amd64. 但還是有些場景,Mac 無法解決

  1. 使用 CGO 的代碼
  2. 想使用 gdb 去調(diào)試

第二個(gè)場景 gdb 我還折騰過一段時(shí)間,始終無法像 linux 平臺那樣完美。以前很蠢的,總是將代碼 clone 到 linux 開發(fā)機(jī)上。難道無法解決了嘛?

Docker

解決辦法就是:Docker 啟動(dòng) ubuntu 虛擬機(jī),然后掛載本地 GOPATH 目錄到容器中

讓我們來看下操作細(xì)節(jié):

安裝 docker for mac 可以自行 google, 這里要注意調(diào)大 cpu 和 memory, 否則編譯大型代碼時(shí)內(nèi)存不足。

  1. ~$ docker pull ubuntu 
  2. ~$ docker create -ti --cpus 6 -m 6GB --privileged --name sextant -v /Users/zerun.dong/:/root/zerun.dong ubuntu bash -l 
  3. ~$ docker start -ai sextant 

上面命令分別是下載 ubuntu 鏡像,創(chuàng)建名為 sextant 的容器,最后再啟動(dòng)

這里面 -cpus -m 用來設(shè)置資源,少了不夠用。/Users/zerun.dong/:/root/zerun.dong 用于將本機(jī)目錄掛載到容器中的 /root/zerun.dong 下面,privileged 允許容器對宿機(jī)主 root 權(quán)限

進(jìn)到容器后,需要再安裝 go binary, 然后設(shè)置好 GOPATH, PATH, GOROOT 后即可進(jìn)行編譯

成功后就會在 Mac 本機(jī)留下 linux binary, 也可直接在容器中用 gdb 進(jìn)行調(diào)試,非常方便

  1. ~$ docker ps -a | grep -i ubuntu 
  2. ~$ docker commit d497d0fee14d ubuntu:go 

當(dāng)然建議使用 docker commit 保存剛才的容器運(yùn)行時(shí),這樣下次就可以直接使用 ubuntu:go 鏡像,然后編譯,省去剛才的操作步驟

責(zé)任編輯:武曉燕 來源: 董澤潤的技術(shù)筆記
相關(guān)推薦

2011-02-25 14:10:52

Proftpd技巧

2021-06-09 07:15:20

Go枚舉技巧

2011-03-09 16:16:57

CentOSLAMP

2011-03-16 11:39:03

2009-08-07 10:18:13

Linux反彈CmdLine S技巧

2019-12-04 12:28:24

TOP命令Linux

2021-07-06 12:07:27

Go 服務(wù)性能

2010-04-12 09:07:09

Make命令

2021-07-07 12:02:25

Go 服務(wù)進(jìn)程

2009-07-19 10:48:53

LinuxWebShell反彈CmdLine She

2010-01-08 09:43:40

Ubuntu ngin

2016-09-14 14:24:18

云服務(wù)數(shù)據(jù)

2015-08-07 11:11:15

反編譯源代碼Mac

2009-10-09 14:45:00

ccna小技巧ccna

2015-04-02 16:15:24

Java Java 開發(fā)環(huán)境Mac OS X

2015-07-06 10:02:57

Swift編譯配置

2011-07-02 14:11:46

Qt Gtk Ubuntu

2011-02-23 13:39:59

2011-02-23 13:39:59

Ubuntuvsftpd

2011-02-21 16:41:19

Sendmail
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 视频一区二区中文字幕 | 中文字幕视频在线 | 精品久久精品 | 久久精品国产一区二区 | 国产精品一区二区久久 | 久久国产精品视频 | 亚洲在线视频 | 欧美一区在线视频 | 日韩欧美亚洲 | 国产乱码精品一区二区三区忘忧草 | 日本一二区视频 | 中文字幕在线精品 | 91在线观看免费视频 | 欧美日韩精品一区二区天天拍 | 国产精品一区在线观看你懂的 | 欧美在线视频一区二区 | 欧美日韩在线国产 | av小说在线| 欧美jizzhd精品欧美巨大免费 | 日本中文字幕日韩精品免费 | 亚洲福利网 | 拍戏被cao翻了h承欢 | 91性高湖久久久久久久久_久久99 | 久久精品91久久久久久再现 | 国产在视频一区二区三区吞精 | 日韩一区欧美一区 | 久草免费在线视频 | 欧美一级免费观看 | 97视频在线观看免费 | 天天插天天狠天天透 | 黄色大片在线 | 伊人中文字幕 | 午夜激情网 | 久久国产免费看 | 台湾佬成人网 | 亚洲区一区二 | 亚洲精品一区在线观看 | 婷婷国产一区二区三区 | 亚洲国产成人av好男人在线观看 | 久久国产日本 | 免费在线观看91 |