解决 brew-edit 无法唤起 emacsclient 的问题

最近发现 brew edit 查看和编辑 Hombrew Formulae 文件时,无法唤起 emacsclient ,一番研究后发现原因是 emacsclient 会 在 $TMPDIR 目录下查找 Emacs 的 socket 文件,用于和 Emacs Server 通信,macOS 默认的 $TMPDIR 为类似 /var/folders/c7/8cxdcxpj5yg8n_282qjhkg4m0000gp/T/ 的目录 (可以在 Shell 中使用 echo $TMPDIR 查看);而 Hombrew 将 $TMPDIR 的值修改为了 $HOMEBREW_TEMP 的值,而 $HOMEBREW_TEMP 的默认值为 /private/tmp

解决这个问题的方法是指定 $HOMEBREW_TEMP 的值为 $TMPDIR 即可, 也就是使用下面这个命令来执行 brew-edit 即可:

1
HOMEBREW_TEMP=$TMPDIR brew edit --formula $FORMULAE_NAME

或者将对 $HOMEBREW_TEMP 加入到 Shell 配置文件 ( .bashrc.zshrc)中:

1
export HOMEBREW_TEMP=$TMPDIR