2021年12月6日开始使用 Borg, 到现在已经整整一年了,这是一个基于 Git submodule 的包管理器。我平时主要是在 macOS 上使用 Borg,在 Windows 平台主要是用于更新配置,以及 Build 第三方包的 elc 和 eln,并生成 autoloads 文件。
在 Unix-like 平台的使用一切顺利,但 Windows 平台下一直都是要在 Git 的 bash shell 下才能执行 make native 命令。最近升级到 Emacs 29 后,发现 makeinfo 又没法工作了,于是就升级了 texinfo 到最新的 7.0 版本。但是还是没解决问题。原来是因为 msys2 的 mingw64 中没安装 perl,默认只是在 msys2 环境下安装了 perl。
所以,要彻底解决问题,只要做到下面几步:
- 安装 mingw64 版本的 perl
pacman -S mingw64/mingw-w64-x86_64-perl
-
将 C:\msys64\mingw64\bin 加入 Path,不需要加 C:\msys64\usr\bin
-
将 Emacs 加入 Path, 比如我的 Emas 安装位置是 C:\opt\emacs\bin
-
安装 make,并加入 Path,如 C:\opt\make-4.4-without-guile-w32-bin\bin
可以从 Eli 分享的 ezwinports 下载 make-4.4-without-guile-w32-bin -
安装 texinfo 7.0,并加入 Path,如 C:\opt\texinfo-7.0.1-w32-bin\bin
可以从 Eli 分享的 ezwinports 下载 texinfo-7.0.1-w32-bin
上面的准备好以后,就可以在 ming64 环境下愉快地使用 Borg 了。
在 Shell 中 Borg 常用 Shell 命令:
make clean # 清除所有的 elc, eln 和 autoload 文件
make build # Build elc,启动 Emacs 后自动 Build eln,速度快
make native # Build elc 和 eln,速度慢
make native/<package-name> # Build 单个包