如何解决在本地翻译 RSS 时遇到的错误提示 pandoc command not found

2024-05-17

在使用 本地 RSS 标题翻译高速方案(DEVONthink 版) 提供的方案时,偶尔会遇到 Keyboard Maestro 的错误提示:

Execute a Shell Script failed with script error: text-script: line 3: pandoc: command not found. 
Macro "RSS Translate X" cancelled (while executing Execute Shell Script - TXT to HTML).

为什么会出现这个报错

  1. 根据 Keyboard Maestro 的报错信息找到脚本所在位置
  2. 结合错误提示中的 line 3: pandoc: command not found. 打开脚本中所写 pandoc 的位置 /usr/local/bin/
  3. 发现使用 Homebrew 升级 Pandoc 后导致在 /usr/local/bin/ 中的 Pandoc 无法定位到正确的路径。

如何解决(来自 ChatGPT)

通过创建一个符号链接(symlink)来,而不是直接复制文件让 /usr/local/bin/ 目录下也能访问到 /opt/homebrew/bin/pandoc。这样做的好处是当原始文件更新时,链接指向的也会是最新的版本。

具体步骤(来自 ChatGPT)

  1. 打开终端:可以在 Finder 中打开「应用程序」→「实用工具」,然后双击「终端」。

  2. 检查 /usr/local/bin/ 是否存在:首先,你需要确认 /usr/local/bin/ 这个目录是否存在。可以使用以下命令来查看:ls /usr/local/bin 如果目录不存在,你需要创建它:sudo mkdir -p /usr/local/bin

  3. 创建符号链接:使用 ln -s 命令来创建一个指向 /opt/homebrew/bin/pandoc 的符号链接。执行以下命令:sudo ln -s /opt/homebrew/bin/pandoc /usr/local/bin/pandoc 这条命令会要求你输入管理员密码,因为修改 /usr/local/bin/ 目录通常需要管理员权限。

  4. 验证链接:创建链接后,你可以通过以下命令来验证链接是否成功创建:ls -l /usr/local/bin/pandoc 这将显示 /usr/local/bin/pandoc 指向 /opt/homebrew/bin/pandoc 的信息。

  5. 测试 Pandoc:最后,你可以测试一下 Pandoc 是否能够通过新的链接正常工作:pandoc --version 如果一切设置正确,将显示 Pandoc 的版本信息。

通过这些步骤,你就可以在不复制实际文件的情况下,从 /usr/local/bin/ 访问到 /opt/homebrew/bin/pandoc 了。这样做的好处是节省空间,并且当 Homebrew 更新 Pandoc 时,你不需要重新复制文件。