故事是这样,不管老哥是换了新的工作环境,还是换了一台新的电脑。做的第一件事就是装一堆环境(不管是 java,npm,还是 python,go-lang ),还有各种让自己高效的工具。在这个自己熟悉的环境往往效律加倍。
问题来了,各位老哥分享一下自己都是怎么解决这个问题的?
我想到的有:
a. 人肉装,可能花个半天到两天不等。
b. 可能有个 shell 脚本,适用于 linux 环境,把自己的开发环境脚本化,跑一下脚本,抽根烟,可能就好了吧(此方案的老哥可以继续分享一下经验)
c. 虚拟机方案,开发环境在虚拟机里面,安装好的环境打成镜像,换台新电脑,开发只要装个虚拟机,把镜像一搂完事(可能会存在虚拟机的性能不及本地操作系统)。
d. 还有一种方案就是直接云主机了,可能成本会高些,随时远程连上去,不存在装环境的问题(不知道有没有靠谱的推荐)。
e. 虚拟机方案,还想到一个是 Vagrant,可以脚本标准化环境。但这种对脚本语言 /解析型语言( python/javascript )可能问题不大,但对编译型语言( java )可能会存在问题,ide 装在宿主机还是装在 vagrant 的虚拟机里面,如果装在里面也可能会面临 gui 的性能问题。
各位老哥有什么好的解决方案一起分享探讨。或者有使用上面的某个方案的,你是如何解决上面遇到的一些坑的?
1
afutureus 2021-09-01 23:24:31 +08:00 via iPhone
timemachine……真的好方便……
|
2
heyjei 2021-09-01 23:29:13 +08:00
我刚在安装一台 windows10 的开发环境。开发工具其实只要有一个常用列表,和配置文件备份,弄起来还是挺快的。
关键就是有些地方要代理才能配置好,这个就很麻烦 |
3
chendy 2021-09-01 23:33:54 +08:00
人肉装
jdk,idea,vsc,语雀,chrome,完事 |
4
guangzhouwuyanzu 2021-09-01 23:40:27 +08:00
我有自己常用的配置,vagrant up,docker 启动,环境就好了,整个过程速度取决去网速。
虚拟机共享 window 目录,docker 挂载虚拟机目录~ |
5
OSDI 2021-09-01 23:42:43 +08:00 1
dotfiles
|
6
ysicing 2021-09-01 23:55:08 +08:00
虚拟机的话可以考虑 vagrant
容器的话可以考虑 vscode 的 devcontainer |
7
hallDrawnel 2021-09-02 00:18:16 +08:00 19
人肉装,享受安装配置过程,感觉像在布置新家一样。
|
8
rpman 2021-09-02 00:25:01 +08:00 via iPad
工作机只 vscode+ssh 用,配置跟着 vscode 走,openssh config 自己默写
环境按项目的来 |
9
TypeError 2021-09-02 01:14:34 +08:00 1
ide
包管理 git+网盘同步各种代码和配置 |
10
LotusChuan 2021-09-02 01:26:09 +08:00
dotfile 的话用 dotbot,配合 bash 脚本装好对应的工具,然后挨个 vim 进配置文件用对应的 plugin manager 装插件;命令行里面一些重要的比如 fzf 这种也直接写到 bash 脚本里面,其他的工具需要的时候临时装就行; ide 的话基本用 jetbrain 家的,它家那个 vim 插件装完就能上手开写了。
|
11
exceldream OP @guangzhouwuyanzu 如果是编译型语言(像 java )这个工作流怎么做,ide 是在宿主机上吗?如果在宿主机,宿主机上还需要装 jdk 等编译器
|
12
icy37785 2021-09-02 03:47:48 +08:00 via iPhone
全天刚刚重装了系统,然后人肉装的各种环境,都还挺方便的。
|
13
oaa 2021-09-02 04:08:33 +08:00 via Android
|
14
xiaket 2021-09-02 07:11:49 +08:00
脚本, 不太相信第三方工具.
|
15
locoz 2021-09-02 07:35:43 +08:00
基本靠远程桌面解决问题,但如果只能重新搞环境的话,就人肉装,毕竟脚本容易在碰到一些位置出问题时引起连锁反应、虚拟机方案存在镜像文件大和硬件情况差异的问题,人肉是最稳的选择。反正大致要装的东西的列表是有的,部分安装时状态比较固定的也有现成的命令复制,用不了半天。
|
16
paranoiddemon 2021-09-02 07:55:20 +08:00 via Android
手动装其实也挺快的,换设备的频率很低
|
17
dcoder 2021-09-02 08:00:28 +08:00 3
vagrant/docker/远程桌面 都试验过... 其实都挺难用的...
最省心的还是: Mac + Time Machine + NAS 具体操作是: 1. 直接在 Mac 上配置自己的开发环境 app store + home brew + JetBrain IDEs + 简单的 .bash_profile 等等等 2. 自己装个便宜的 NAS in home/office 比如 Synology 2 Bay 2XX 型号 然后你 Mac 不存任何 media 文件 (e.g. 照片, video) NAS 设置为永不休眠 Mac 定时 /手动 备份 Time Machine 到 NAS 3. 可以在 Mac 上随便乱折腾配置了 一旦折腾坏了, 就从 NAS Time Machine 上读档 4. 新装一台 Mac 可以从 NAS 上读个装机用的 Time Machine 存档 然后这台新 Mac 也可以拥有自己的后续存档, 相当于分叉了 |
18
MengiNo 2021-09-02 08:09:27 +08:00
每次都是抹掉再装,不留备份。全部上云,ECS 运行环境 + Git 、Docker 、iCloud 数据支持 + vscode 客户端。 从抹盘到调通撑死俩小时。
|
19
joshua7v 2021-09-02 08:36:42 +08:00
早期是直接把开发机硬盘整个复制到新电脑硬盘,后来是直接在新电脑上配置
因为用的工具也没有非常多,并没有想象中那么消耗时间 |
20
yazinnnn 2021-09-02 08:43:18 +08:00
java,npm,python,go-lang
好奇什么岗位需要装这些环境... |
21
yEhwG10ZJa83067x 2021-09-02 08:46:30 +08:00
Vagrant 吧,ide 当然装在外面,不装虚拟机里面。对编译型语言( java )可能会存在问题,请问会碰到啥问题啊?
|
22
idragonet 2021-09-02 08:46:34 +08:00
我用 win10 的,带自己的固态硬盘走天下就是了,插入电脑启动系统什么都不用安装了。
|
23
wangbenjun5 2021-09-02 08:56:19 +08:00 via Android
人肉装,话说重装系统或者换工作,这种情况也不多见,可能 1 年才 1 次。可以稍微整理一个文档出来,这样按部就班省点事
|
24
anguiao 2021-09-02 08:59:08 +08:00
Windows 可以试试 scoop,JDK 、Node.js 这些都是一条命令就装好了。然后 JetBrains 全家桶一装,就可以干活了。
|
25
CodeCodeStudy 2021-09-02 09:17:11 +08:00
人肉装,然后记笔记,记录安装步骤、软件版本、注意事项等,下一直接照着笔记安装,软件放在网盘里,这样就避免了下一次安装还要搜索安装教程和下载软件
|
26
2kCS5c0b0ITXE5k2 2021-09-02 09:18:29 +08:00
docker 吧.
|
27
balabalaguguji 2021-09-02 09:20:50 +08:00
@idragonet #22 USB 传输速度会不会是瓶颈,这样系统会变慢吧
|
28
zzyphp111 2021-09-02 09:22:28 +08:00 1
同 git 流+ shell 流 https://github.com/Darrenzzy/pro-guide/tree/master/config-files
根据个人需要随时吧配置文件放到机器对应目录下 |
29
Tetsuchou 2021-09-02 09:22:45 +08:00
脚本 + Homebrew
|
30
agagega 2021-09-02 09:45:07 +08:00 via iPhone 1
|
31
wasd6267016 2021-09-02 10:29:44 +08:00
主要是频率比较低,就强行人肉装了 -。- 顶多记下坑点,下次别继续踩坑就行了
|
32
guxingke 2021-09-02 10:31:23 +08:00
1. 梯子,这个基本得手动装
2. 配置同步,Mackup 3. 软件安装,Homebrew (brew bundle dump && brew bundle install) --- 新的环境搭建大约需要 2 小时 |
33
debuggerx 2021-09-02 10:42:34 +08:00 1
常用配置和脚本集放在 GitHub 私有仓库了,新机器到手先装 Linux,然后 jetbrains toolbox 装全家桶,clone 配置仓库,然后直接 ln -s 软链接搞定……这样我任何一台设备新增了配置和脚本,到其他机器上只要去 pull 一下就可以了
|
34
exceldream OP @yazinnnn 举粟子哈。不过这里全栈的大佬应该也不少
|
35
exceldream OP @justrand 如果你 ide 装在虚拟机外面,意味你需要在虚拟外面再装个 jdk,或者其他编译环境。而且编译调试什么的,你用的并不是虚拟机内的 jdk,实际运行的时候又是虚拟机内部的 jdk,感觉有点割裂
|
36
nmap 2021-09-02 11:05:22 +08:00
人肉装就行了,也就半天~1 天时间,再说也是带薪的。。。
|
37
aodiquan 2021-09-02 11:25:16 +08:00
除了环境还有一堆的绿色软件,我是用移动硬盘装的,大概 300 多 G,fastcopy 同步,环境变量备份成脚本,频繁更改且重要的软件用 git 同步,基本移动硬盘拷贝加 git pull 下来半天就完成了
|
38
siteshen 2021-09-02 12:07:07 +08:00 1
去一个自带电脑的公司 [狗头]
|
40
leafShimple 2021-09-02 12:32:01 +08:00
我自己的笔记本,不喜欢搞环境.
|
41
darkengine 2021-09-02 12:39:55 +08:00
同自带笔记本,已经两年多没碰过在新电脑上配环境了,需要使用新技术特别是后端技术的时候 docker 搞起。
|
42
jdhao 2021-09-02 12:42:00 +08:00 via Android
主要用 linux,自己写了配置脚本,一键安装
|
43
EscYezi 2021-09-02 12:42:37 +08:00 via iPhone
javaer 表示装好 idea 就可以拉代码干活了,构建工具、jdk 、数据库连接工具 idea 里面都有
|
44
finab 2021-09-02 12:49:40 +08:00 1
使用 onedrive 或 dropbox 等同步盘
使用新软件时,先找到软件的配置文件目录,拷贝到同步盘。 写一个脚本,将自己使用的所有软件配置目录,从同步目录软连接到目标目录。 新设备第一件事,就是运行这个脚本,这样所有软件的目录都链接好了, 之后按需下载软件,打开直接用就可以了 |
45
finab 2021-09-02 12:57:18 +08:00
@finab 我用这个方式,同步了自己常用的软件和所有的游戏存档,包含各种经典模拟器。
总共 3 台 mac 和一台 windows,都能同步游玩 几台 mac 下的环境也一致,其中一台更改了,另外两台也同步更改(例如 1Password 、Alfred 等) |
46
jackmod 2021-09-02 13:17:13 +08:00
照着前人留下的手册人肉装,公然摸鱼。
|
47
falcon05 2021-09-02 13:27:49 +08:00 via iPhone
人肉装吧,除非你是网管,有一堆电脑等着你
|
48
40EaE5uJO3Xt1VVa 2021-09-02 13:39:27 +08:00
我还真是 vmware 虚拟机
|
49
idragonet 2021-09-02 14:03:55 +08:00
@balabalaguguji 不是 USB,是打开电脑直接插入主板,启动系统。
|
50
sakasaka 2021-09-02 14:15:25 +08:00
保持头脑清醒
|
51
harde 2021-09-02 14:22:43 +08:00
人肉装,再怎么频繁,也不可能天天装环境。
能问出这个问题,楼主是干人力外包的? |
53
jin7 2021-09-02 14:58:10 +08:00
scoop + 手工
|
54
ericguo 2021-09-02 15:00:48 +08:00
人肉装啊,用到啥装啥,一天肯定装完了。我还是喜欢所有工具都在本机以原生应用跑的控制感,有人说不同项目用到的组件版本不一样,全部本机不现实(比如不同项目用了不同版本的 pg ),我倒是没这个问题,因为我同时是运维,所以,所有项目组件版本能够保持一致的。
装是小头,个人感觉比较费力的是开发机保持所有工具最新版本,不过天天读 change log 也是一种乐趣吧。。 |
55
arischow 2021-09-02 15:11:11 +08:00
![Is It Worth the Time?]( https://imgs.xkcd.com/comics/is_it_worth_the_time_2x.png)
https://xkcd.com/1205/ |
56
james2013 2021-09-02 15:29:24 +08:00
人肉装就挺好,用脚本和虚拟机还要定时更新和保存
|
57
jabari 2021-09-02 15:29:32 +08:00
direnv + nix
|
58
neptuno 2021-09-02 15:34:27 +08:00
人肉装吧,很多公司对电脑有要求,不允许很多操作,到最后还是人肉装
|
59
RRRoger 2021-09-02 16:01:26 +08:00
人肉装
|
60
lamesbond 2021-09-02 16:14:55 +08:00
不管是写脚本,做虚拟机镜像不都要花时间?有这时间不如手动装,毕竟换机频率不大,一台 macbook 用 2,3 年都算少的吧
|
61
terranboy 2021-09-02 16:27:08 +08:00
vscode remote 开发
|
62
hyy1995 2021-09-02 16:31:34 +08:00 via iPhone
人肉装,还能随带更新一下之前万年不更新的工具
|
63
namelosw 2021-09-02 17:45:09 +08:00
brew + brew cask 基本大部分东西都能一行搞定
缺啥装啥,这样比较精简 |
64
mawerss1 2021-09-02 17:58:09 +08:00
最近从 mac 切换到了 win10,开发环境都装在 wsl2 里,包括 jetbrains 系列 ide,wsl2 系统可以导出导入这个应该是最方便的了,但是 win10 上除了代码还有一些软件,文档资料,感觉如果要换电脑的化只能备份整个系统再还原了
|
65
ch2 2021-09-02 18:00:44 +08:00
a 和 d 相结合,其它方案都不靠谱
|
67
sherryqueen 2021-09-02 18:21:02 +08:00
人肉装. 前端开发。vscode 配置同步一份 + nodejs 就可以干活了
|
68
efaun 2021-09-02 18:37:36 +08:00
虚拟机+docker
|
69
sophos 2021-09-02 18:50:27 +08:00
必须是 vscode+wsl2 啊
vscode 配置都可以同步到云端 wsl2 导出再导入就好了 |
70
tfdetang 2021-09-02 19:05:31 +08:00
难道不是 dockerfile + git 管理吗? 要开发什么项目直接起什么项目的环境,无论是本地开发还是 remote 开发都可以
|
71
GiantHard 2021-09-02 19:07:20 +08:00
Linux 系统,先搭出一套自己熟悉的开发环境( DE + IDE + Shell + 各种软件),然后通过 rclone 到新的电脑。我现在使用的系统,最开始是装在一台 Acer ( Intel + NVIDIA )笔记本上的,后来又迁移到 mbp 2015 上面,现在又落在了一台锐龙 PC 上。每次迁移就是准备一块 SSD 通过 rclone 全盘备份,然后通过 USB Live CD 迁移到新机器上,接着用 mhwd 替换一下硬件驱动就成(是的,我用 Manjaro )
|
72
7gugu 2021-09-02 19:32:35 +08:00 via iPhone
人肉装,因为有很多工具是会随着自己的技能发展出现变更的,以前可能高效的软件,放到现在可能会有更好的选择。核心几大件几乎是不变的,附属软件慢慢调就好了。
|
73
abc8678 2021-09-03 00:43:26 +08:00 via Android
把 Windows 装在 vhd 映像里,可以拷到别的地方继续用。或者 Windows to go
|
74
dcoder 2021-09-03 02:41:16 +08:00
@Hurriance 新旧设备硬件不一致, 可能是有风险差异的. 我一般这样用的时候, 都是两台 Mac 硬件型号相同的情况下.
|
75
exceldream OP @emeab 大佬,docker 流怎么操作?
|
76
exceldream OP @EscYezi 主要是在公司有现成中间件可以连。假如在家里,可能有一堆中间件需要连 mysql,zk,mq etc.挺麻烦的
|
77
exceldream OP @mawerss1 jetbrains 装在 wsl2 里面都能 gui 啦?
|
78
wangxin13g 2021-09-04 16:46:34 +08:00
用 php 那会是用 docker-compose up 就完事了
现在主要是写 java 直接用 idea 配置多 jdk |
79
mawerss1 2021-09-06 12:06:15 +08:00 via iPhone
@exceldream 用 x410 这个 app win 上的
|
80
exceldream OP @exceldream win11 可以。微软出了个 wslg 项目,可以直接把 wsl 中的 gui 跑到 win 桌面上👍
|
81
shilianmlxg 2021-09-08 11:35:53 +08:00
@TypeError 老哥 怎么同步配置呢,你的哪些配置是需要同步的呢 。我以为能同步的只有 zshrc
|
82
TypeError 2021-09-08 11:58:33 +08:00 via Android
@shilianmlxg 还有 ide 配置、vscode 配置这些吧
|