如果你是 macOS 用户,并且经常使用命令行工具 KindleGen 转换电子书格式,可能已经遇到了这个问题:将 macOS 升级到 Catalina 之后,在终端执行 KindleGen 会出现如下所示的错误提示:
zsh: bad CPU type in executable: kindlegen
问题的原因是 macOS 系统自 Catalina 开始,就停止了对 32 位程序的支持,而KindleGen 官方发布页面却仍未提供 64 位的 KindleGen,这给很多小伙伴带来了不便。那该怎样解决这个问题呢?
虽然 KindleGen 的官方发布页面没有提供 64 位程序,但其实早就存在了。可能是因为亚马逊根据自身业务需求对软件产品的侧重点做了调整,貌似对单独发布 KindleGen 不再感兴趣,转而主推另外一款可视化电子书发布预览工具 Kindle Previewer,用以配合自己的 Kindle Direct Publishing 业务。这款软件有一个将打开的电子书转换为 MOBI 格式的导出功能,这实际上就是利用 KindleGen 来完成的。
最新版的 Kindle Previewer 3 是 64 位程序,并且能够在 macOS Catalina 中正常使用导出 MOBI 格式的功能,说明集成在里面的 KindleGen 也是 64 位程序。因此,我们的解决方案就出来了——可以直接从 Kindle Previewer 3 的软件包中把这个 64 位的 KindleGen 提取出来使用。下面是具体步骤:
首先,下载亚马逊官方提供的最新的 MAC 版 Kindle Previewer 3 并安装(如果你安装了 macOS 的包管理器 Homebrew,也可通过运行命令 brew cask install kindle-previewer
直接安装)。
然后,进入“应用程序(Applications)”目录,找到“Kindle Previewer 3.app”这个软件包,在其上点击右键,在弹出菜单中点“显示包内容”,依次进入目录 Contents/lib/fc/bin
即可找到 kindlegen。
为方便起见,你也可以在“终端”上输入以下命令,直接打开 kindlegen 所在的目录:
open '/Applications/Kindle Previewer 3.app/Contents/lib/fc/bin/'
Kindle Previewer 3 的安装程序约 422MB,安装完成后的软件包更是有 873.3MB 之巨,如果你只想要使用 KindleGen,而不想安装这样一个庞然大物,也可以直接下载书楼为你提取好的 KindleGen 程序:
- KindleGen 下载(macOS 10.9/x86_64):百度网盘〈提取码 :
8ujw
〉
当然,如果你的电脑已经安装了 Kindle Previewer 3,并且打算长期使用此软件,书楼不建议你将其提取出来,而只需要运行以下这条命令为 KindleGen 创建一个软链接,即可在“终端”上运行它了。
ln -s '/Applications/Kindle Previewer 3.app/Contents/lib/fc/bin/kindlegen' /usr/local/bin/kindlegen
如此,你就可以在 Catalina 或更新版本的 64 位 macOS 系统中使用 KindleGen了。
—————
有小伙伴问到 Windows 版 64 位 KindleGen,这里说明一下。最新的 Windows 版 Kindle Previewer 3 集成的是 32 位 KindleGen,可能由于 Windows 兼容 32 位程序,亚马逊没有另行开发 64 位版。
Windows 版 Kindle Previewer 3 提取 KindleGen 的方法和 macOS 版大致相同:用解压缩软件直接解压 KindlePreviewerInstaller.exe,然后在得到的文件夹中的以下路径即可找到 KindleGen 程序。
KindlePreviewerInstaller/lib/fc/bin/kindlegen.exe
—————
参考资料:
未经允许不得转载:书路 » 如何在 macOS Catalina 中运行 64 位 KindleGen