开发人员如何“write on MacOS, Run in Linux ”?

2018-02-19 20:16:38 +08:00
 billows

1、日常工作习惯了在 MacOS 下使用 VSCODE 做开发,但是产品运行环境是在 CentOS 上,有时候会用 Docker 去做编译,但是有些环境 docker 也胜任不了,就只能搭建虚拟机,开共享文件夹,达到在 macos 上写代码,在虚拟机中去编译运行的效果。。

2、另外,有时候需要做探索方面的工作,需要装各种各样的环境,如果一直在 macos 上做,也容易导致 macos 越来越臃肿,我想到的办法也是弄虚拟机,虚拟机有快照,弄完了恢复就行。但是装的虚拟机的桌面在 mbpr 上的显示效果都好渣啊。。

3、以上,有时候会觉得自己是被 macos 的给毒害了,😓。。。。

除此之外,还有什么其他方法吗?求大佬指教。

11346 次点击
所在节点    程序员
49 条回复
holulu
2018-02-19 21:04:25 +08:00
情况差不多,在 macos 下写,开 linux vm 编译和测试,ssh 连进 vm
mcfog
2018-02-19 21:50:10 +08:00
所以你是开发 linux 下的 gui 程序嘛?为什么还给 linux 装桌面呢(摊手
neoblackcap
2018-02-19 21:55:31 +08:00
@billows 你这情况,开源 Virtualbox 或者买 Vmware Fusion。或者向公司申请开发机。没有更好的办法了,OS X 开发 linux 应用程序可以,但是你这个都很有可能是系统编程,抛弃所在的平台而使用 OS X,并不会令你的效率提升,反而很有可能拖累你啊。
x86vk
2018-02-19 22:06:06 +08:00
其实楼主实机用 linux+btrfs 就行(
sagaxu
2018-02-19 22:11:00 +08:00
我 linux 下开发编译,windows 下运行,Go 不是自带交叉编译吗?
hujianxin
2018-02-19 22:17:02 +08:00
其实,我更愿意工作主机用 Linux 台式机、工作站,身边放一台 mac 或者 windows 笔记本来处理别的东西。
hujianxin
2018-02-19 22:17:18 +08:00
比如 qq,钉钉,微信,office 等
littlewey
2018-02-19 22:37:12 +08:00
如果需要 native linux 环境开发 libvirt kvm 相关的话,用 mac 当作终端,在 remote centOS/ubuntu 之类的 server 上搞呢?
GooMS
2018-02-20 00:02:09 +08:00
我用 Linux 做开发,搞砸了只需要几分钟重装
ipwx
2018-02-20 00:07:20 +08:00
写好单元测试,用好连续集成,没了。
likuku
2018-02-20 00:46:35 +08:00
要做 linux 的桌面产品?

那还是买台对 linux 桌面(显卡)兼容比较好的电脑吧。
yopming
2018-02-20 06:13:36 +08:00
parallel 虚拟机吧
httplife
2018-02-20 08:41:48 +08:00
公司没有测试用的服务器?
yanyuechuixue
2018-02-20 09:16:44 +08:00
用公司的服务器啊,然后用 vscode 里的插件比如 rsync,编辑好会自动同步到远程,直接在那边编译就好啦
Enochyun
2018-02-20 11:28:09 +08:00
我是买了一个 centos 的服务器,然后在服务器上安装一个 git,本地克隆这个 git 每次本地写好代码 push 到云端调试,就这样。(公司是使用 svn 做版本控制和发布调试)
billows
2018-02-20 12:57:05 +08:00
@httplife
@yanyuechuixue
@Enochyun

公司资源不太够,自己购买的话,其实还原和快照也没那么方便呀。


@mcfog
@hujianxin
@littlewey

你们说的方法可能都是在 linux 终端用类似 vim 之类的编辑器写代码。。我问题里有说我还没那个水准。。。



@zjsxwc
装好了 vagrant,也在用,是比直接操作 virtualbox 方便,但是现在卡壳了。 用 sync_folder 功能时,提示不认识 vboxfs 文件类型,我知道是 virtualbox 的插件相关问题导致的。但是看文档,vagrant 提供的 box 都是要求安装好插件的呀,难道还得自己手动安装?我用的官方的 centos/7
ospider
2018-02-20 16:34:45 +08:00
别瞎折腾,linux 的代码就老老实实在开发机上写,非要在本地运行有个卵用,环境不一样都各种问题,更何况系统都不一样
tairan2006
2018-02-20 18:25:39 +08:00
不调用原生 API 就没啥问题啊…我好像没遇到过问题
wizardforcel
2018-02-20 21:10:22 +08:00
golang 能有啥问题,又不是 C/C++。
leslie000666
2018-02-21 10:07:09 +08:00
是为了避免因为开发和生产系统,环境导致程序出现问题?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/431251

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX