卸载或更新mac单机游戏后mod残留会导致启动异常、存档错乱等问题,需手动清理application support、caches等库目录,游戏本体内的mods/bepinex等子文件夹,mod管理器配置、launchagent服务及终端命令定位的零散残留。

如果您在Mac上卸载或更新单机游戏后,发现Mod(模组)文件未被清除,导致新版本启动异常、存档错乱、图形渲染错误或磁盘空间持续占用,则很可能是Mod安装时写入的资源文件、覆盖补丁、配置脚本及插件缓存仍残留在系统中。以下是针对不同Mod分发机制与游戏引擎的多种清理方法:
一、手动定位并删除常见Mod存储路径
Mac平台上的单机游戏Mod通常不随主程序自动卸载,其文件分散于用户级资源库、游戏安装目录及系统临时区域。需按游戏类型与Mod管理器习惯路径逐一排查,避免误删系统或跨游戏共享资源。
1、打开“访达”,按Shift + Command + G调出“前往文件夹”窗口。
2、依次输入以下路径并回车,进入对应目录:
~/Library/Application Support/
~/Library/Caches/
~/Library/Preferences/
~/Library/Saved Application State/
~/Library/Containers/
3、在每个目录中使用右上角搜索框,输入游戏名称(如“Stardew Valley”“Skyrim”“Cyberpunk 2077”)及常见Mod关键词(如“mod”“mods”“Vortex”“CurseForge”“r2modman”“BepInEx”“Winetricks”“Proton”),区分大小写,并尝试缩写与空格替代形式(如“sdv”“cp77”)。
4、仅将明确匹配目标游戏Mod环境的文件夹或.plist文件拖入废纸篓;特别注意:勿删除com.apple.*或全局工具(如Steam、Epic)的根目录,仅清理含游戏名或Mod管理器名的子项。
二、清理游戏本体目录内的Mod嵌入文件
部分Mod直接解压至游戏.app包内部或同级目录,此类残留无法通过常规卸载识别,必须进入安装路径手动筛查。尤其适用于通过Steam Play(Proton)、Wine、CrossOver或原生macOS移植版运行的游戏。
1、打开“访达”,进入游戏安装位置:
• Steam游戏:~/Library/Application Support/Steam/steamapps/common/
• Epic游戏:~/Library/Epic Games/
• 独立发行版:通常位于~/Applications/ 或 ~/Games/
2、定位目标游戏文件夹(如“Stardew Valley.app”“Cyberpunk 2077”),右键点击选择“显示包内容”(若为.app)或直接进入文件夹。
3、检查以下子路径是否存在Mod相关结构:
• Contents/Resources/mods/ 或 mods/
• BepInEx/、r2modman/、Mods/、Plugins/、Patches/、Overrides/
• winetricks-cache/、proton-mods/、prefix/drive_c/users/steamuser/AppData/Local/
4、将上述路径中全部Mod专用子目录及其内容拖入废纸篓;若发现以“.dll”“.so”“.dylib”“.json”“.cfg”结尾且命名含“mod”“patch”“inject”“override”的独立文件,也应一并移除。
三、清除Mod管理器遗留配置与缓存
第三方Mod管理器(如Vortex、r2modman、Mod Organizer 2 for macOS适配版、BepInEx Installer)会在用户域创建独立配置、下载缓存与元数据索引,即使卸载管理器本身,这些数据仍可能触发旧Mod重载或冲突。
1、再次使用Shift + Command + G,分别输入:
~/Library/Application Support/Vortex/
~/Library/Application Support/r2modmanPlus/
~/Library/Caches/Vortex/
~/Library/Caches/r2modmanPlus/
~/Library/Preferences/io.vortex.*.plist
~/Library/Preferences/dev.r2modman.*.plist
2、在对应目录中查找与已停用Mod管理器强关联的整个文件夹或plist文件,确认创建/修改时间早于当前游戏版本安装时间后删除。
3、若曾使用BepInEx作为注入框架,还需检查:
~/Library/Application Support/BepInEx/
~/Library/Application Support/[GameName]/BepInEx/
4、删除完成后,务必清空废纸篓并重启游戏启动器(如Steam、GOG Galaxy),否则部分缓存可能被内存映射锁定而未释放。
四、终止并卸载后台Mod服务与LaunchAgent
某些Mod或Mod管理器会注册launchd服务,在登录时自动拉起Mod加载器、热重载监听进程或云同步守护程序。这些服务即使游戏未运行也会驻留内存并写入日志,造成资源泄漏与配置污染。
1、打开“访达”,按Shift + Command + G输入:
~/Library/LaunchAgents/
/Library/LaunchDaemons/
2、在LaunchAgents中查找含以下关键词的plist文件:
• “vortex”“r2modman”“bepinex”“modloader”“injector”“overlay”
• 文件名格式如:io.vortex.daemon.plist、dev.r2modman.launcher.plist
3、在LaunchDaemons中查找同类命名但权限更高的系统级服务(需管理员密码操作),确认其Bundle ID与Mod生态强相关后再处理。
4、选中匹配的plist文件,拖入废纸篓;随后在终端中执行:
launchctl remove [plist-bundle-id]
例如:launchctl remove io.vortex.daemon;若提示权限不足,请在命令前加sudo并输入密码。
五、使用Spotlight与终端命令交叉验证零散残留
部分Mod通过脚本、符号链接或隐藏文件(如.git、.DS_Store内嵌路径)写入非标准位置,人工浏览易遗漏。Spotlight可快速索引全盘匹配项,终端命令则能强制定位硬编码路径。
1、按下Command + Space打开Spotlight,输入:
“kind:folder mod” 或 “name:mods AND kind:folder”
查看返回结果是否包含未识别的游戏专属目录。
2、打开“终端”,依次执行以下命令:
mdfind "kMDItemDisplayName == '*mod*'wc" -onlyin $HOME
mdfind "kMDItemDisplayName == '*mods*'wc" -onlyin $HOME
mdfind "kMDItemDisplayName == '*BepInEx*'wc" -onlyin $HOME
3、对每条返回路径,使用ls -la命令确认其归属:
ls -la /path/to/returned/folder
若发现Owner为当前用户、修改时间与Mod安装时段吻合,且内容含config.json、patch.dll或assembly-CSharp.dll等典型Mod构件,则立即删除。
4、执行完毕后,重启Mac以确保所有launchd服务、内核扩展及内存映射文件彻底刷新。











