Manjaro下使用OCaml 4.08.1编译Unison 2.48.4的方法
Manjaro下编译基于OCaml 4.08.1的Unison 2.48.4操作指引
以下操作全程不会覆盖系统已安装的OCaml 4.13.1、Unison 2.52版本,所有自定义编译的文件均做隔离处理,不会破坏现有系统环境。
前置依赖安装
打开终端,执行以下命令安装编译所需的基础工具:
sudo pacman -S base-devel opam wget ctags
安装隔离版本的OCaml 4.08.1
使用OCaml官方包管理器opam安装独立版本的OCaml,和系统全局版本完全隔离:
- 初始化opam环境,所有提示选默认选项即可:
opam init --disable-sandboxing -y eval $(opam env)
- 创建独立的编译环境,安装OCaml 4.08.1:
opam switch create unison-build 4.08.1 eval $(opam env)
- 验证OCaml版本,执行命令:
ocaml -version
终端输出The OCaml toplevel, version 4.08.1即表示安装正确。
获取Unison 2.48.4源码
执行以下命令拉取对应版本源码并进入源码目录:
wget https://github.com/bcpierce00/unison/archive/refs/tags/v2.48.4.tar.gz -O unison-2.48.4.tar.gz tar zxf unison-2.48.4.tar.gz cd unison-2.48.4
源码为Unison官方发布的2.48.4正式版本归档,无第三方修改。
编译安装Unison
- 在源码目录下执行编译命令,仅编译命令行版本(无图形界面依赖,适配服务器同步场景):
make UISTYLE=text
- 编译完成后,将生成的可执行文件安装到系统路径,重命名避免和系统自带Unison冲突:
sudo cp src/unison /usr/local/bin/unison-2.48.4 sudo chmod +x /usr/local/bin/unison-2.48.4
安装验证
执行以下命令检查安装结果:
unison-2.48.4 -version
终端输出unison version 2.48.4即表示安装成功。
使用与卸载说明
- 和Ubuntu Server 20.04同步时,直接使用
unison-2.48.4命令启动即可,版本完全匹配不会报兼容性错误 - 系统原有的
unison命令仍指向官方源的2.52版本,日常使用不受影响 - 如需卸载该版本,执行以下命令即可完全清除相关文件:
sudo rm /usr/local/bin/unison-2.48.4 opam switch remove unison-build -y rm -rf ~/unison-2.48.4*
内容的提问来源于stack exchange,提问作者exaveal
相关产品推荐
相关产品推荐

