解决 Sourcetree 报错 Couldn't posix_spawn: error 2 问题

前几天更新到 macOS 12.3 之后,Sourcetree 无法正常打开 Mercurial 的项目,猜测是跟 macOS 12.3 移除了内置的 Python2 有关。报错如下:

在 ATLASSIAN Community 上也能找到相关的帖子,比如这篇:Couldn't posix_spawn: error 2,我也在上面留言了。

其实,打开 Sourcetree 偏好设置可以看到报错原因了:

其中有两个选项,前者意思是「使用内置的 Mercurial」,后者表示「使用系统安装的 Mercurial」。猜测是 Sourcetree 内置的 Mercurial 依赖了 macOS 系统内置的 Python2,但由于系统更新之后已彻底移除,所以就报错了(当前 Sourcetree 最新版本为 4.1.6,仍存在问题,目测后续版本会解决此问题)。

因此,解决思路也很简单,就是使用自行安装的 Mercurial 即可。

Use System Mercurial 处选择路径:/usr/local/Cellar/mercurial/6.1/lib/python3.10/site-packages/mercurial(根据自己安装的 Mercurial 版本及对应路径去选择)。

如果你是通过 Homebrew 安装 Mercurial 的话,可以使用 brew list mercurial 命令查看其路径。

重新打开,就可以了,不再报错。

The end.

你可能感兴趣的:(解决 Sourcetree 报错 Couldn't posix_spawn: error 2 问题)