mac环境下build 的go二进制文件只能在mac本执行。
在linux环境跑二进制文件会报错。
所以如果想让mac上build的二进制文件可以在linux系统运行,需要按照如下方式build:

mmmm@localhost  /xxxxxxx/study/github/gopl.io/ch1/dup2   master ●   GOOS=linux GOARCH=amd64 go build main.go 
mmmm@localhost  /xxxxxxx/study/github/gopl.io/ch1/dup2   master ●  ll
total 7832
-rwxr-xr-x  1 xxxxxx  staff   1.9M Jan 30 16:30 golang_check_dup_for_file
-rwxr-xr-x  1 xxxxxx  staff   1.9M Jan 30 16:35 main
-rw-r--r--  1 xxxxxx  staff   974B Jan 30 16:29 main.go

这样生成的二进制文件main scp到linux机器就可以运行了!
当然为了使用的方便可以mv改名如上golang_check_dup_for_file 等价于main文件。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐