Mac mini 折腾记(七):给 JetBrains 全家桶迁移至移动磁盘

Mac mini 折腾记(七):给 JetBrains 全家桶迁移至移动磁盘

搞定了底层的开发环境(mise)和数据库(Docker),终于轮到开发者的“重型武器”——IDE 了。

我是 JetBrains 的死忠粉,Java 开发离不开 IntelliJ IDEA,Python 开发离不开 PyCharm。但在 256G 的 Mac mini 上,这两个家伙是绝对的“空间杀手”。

如果按照默认方式安装,不仅 App 本体占好几个 G,它们在后台生成的索引(Index)、缓存(Cache)和插件(Plugins)更是无底洞。用个一年半载,~/Library 目录下就能吃掉你几十 G 空间。

我们要做的,不仅是把它们的“身躯”(应用程序)安在外置硬盘,更要给它们做个“脑移植”,把产生的所有数据垃圾也全部导向外置硬盘。

第一步:身躯外置(App 本体安装)

下载好 IDEA 和 PyCharm 的 Apple Silicon 版本 .dmg 镜像后,千万别习惯性地把图标拖进 Finder 侧边栏的“应用程序”里。

正确的姿势是:

  1. 打开外置硬盘 DataDisk,进入 Applications 文件夹。
  2. .dmg 里的 IDE 图标拖进这里。
  3. 制作替身:右键点击外置硬盘里的 IDE,选择“制作替身”(Make Alias)。
  4. 把这个只有几 KB 的“替身文件”,拖进系统盘的 /Applications 文件夹。

这样做的好处是:App 实体躺在外置盘,但系统以为它在系统盘,Launchpad 和 Spotlight 都能正常索引和启动它。

第二步:脑移植(核心配置重定向)

这是最关键的一步。如果不做这一步,IDE 还是会在系统盘里疯狂写入缓存。

我们需要修改 IDE 的核心配置文件 idea.properties。但在 Mac 的新版本界面里,这个入口藏得很深,不在“设置”里。

操作流程:

  1. 启动 IDE(此时它还在读取默认配置)。
  2. 上帝模式:不要去点菜单栏,直接连续按两下 Shift 键,呼出“随处搜索”框。
  3. 输入 Edit Custom Properties,回车。
  4. 如果提示文件不存在,点击“Create”。

此时你会得到一个空白的配置文件。我们需要把原本指向 ~/Library 的路径,全部劫持到外置硬盘。

我在外置硬盘规划的目录是 /Volumes/DataDisk/DevEnv/JetBrains/

IntelliJ IDEA 的配置:

1
2
3
4
5
6
7
8
9
10
# ==== IDEA 核心数据外置化 ====
# 配置目录 (设置、快捷键)
idea.config.path=/Volumes/DataDisk/DevEnv/JetBrains/IntelliJ/config
# 系统目录 (索引、缓存、日志 - 体积最大!)
idea.system.path=/Volumes/DataDisk/DevEnv/JetBrains/IntelliJ/system
# 插件目录
idea.plugins.path=/Volumes/DataDisk/DevEnv/JetBrains/IntelliJ/plugins
# 日志目录
idea.log.path=/Volumes/DataDisk/DevEnv/JetBrains/IntelliJ/log

PyCharm 的配置:

1
2
3
4
5
6
# ==== PyCharm 核心数据外置化 ====
idea.config.path=/Volumes/DataDisk/DevEnv/JetBrains/PyCharm/config
idea.system.path=/Volumes/DataDisk/DevEnv/JetBrains/PyCharm/system
idea.plugins.path=/Volumes/DataDisk/DevEnv/JetBrains/PyCharm/plugins
idea.log.path=/Volumes/DataDisk/DevEnv/JetBrains/PyCharm/log

粘贴并保存(Command + S),然后彻底关闭并重启 IDE

重启后,IDE 会以为自己是全新安装的(因为读不到旧配置了),并开始在外置硬盘生成对应的文件夹。至此,“脑移植”手术成功。我的系统盘,一字节都不会被占用。

第三步:注入灵魂(激活与脚本陷阱)

环境搭好了,接下来是激活。对于折腾党来说,我用了一个名为 ckey.run 的脚本方案。

在终端执行:

1
2
curl -L -o ckey.run ckey.run && bash ckey.run

这个脚本非常强大,能自动处理激活逻辑。但这里有一个巨大的坑,我第一次就踩进去了。

陷阱:
这个脚本的原理是修改 IDE 的 .vmoptions 文件,注入一个 javaagent。但是!当我们完成了“脑移植”(修改了 idea.config.path)后,IDE 读取配置的位置变了。

如果你是先运行脚本,再修改路径,重启后你会发现激活失效了。因为 IDE 去外置硬盘找配置文件,发现那里是空的,没有注入 javaagent

正确的顺序是:

  1. 先完成“脑移植”,重启 IDE,确认外置硬盘生成了文件夹。
  2. 再运行一遍 ckey.run 脚本。
  3. 脚本会自动检测到你当前生效的(外置硬盘里的)配置文件路径,并把激活代码注入进去