MacPorts 中安装高/低版本软件方式,以 RabbitMQ 为例
查询信息
这里以 RabbitMQ 为例,通过搜索得到默认安装版本信息:
port search rabbitmq-server
结果
~/Downloads> port search rabbitmq-server
rabbitmq-server @3.11.15 (net)
The RabbitMQ AMQP Server
~/Downloads>
获取二进制文件
但当前官网已更新到 4.x
版本,例如我们需要安装 4.0.4
版本,首先去到 RabbitMQ 的 GitHub release 页:https://github.com/rabbitmq/rabbitmq-server/releases
下载 rabbitmq-server-generic-unix-4.0.4.tar.xz
文件,以便获取相关指纹进行替换
修改 Portfile
所在目录
在查询结果中我们注意到 rabbitmq-server @3.11.15 (net)
,括号内是 net
而 MacPorts 对应的软件相关 Portfile 存储于 /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports
内
因为 RabbitMQ 属于 net
,这里我们还需要进入 net
目录才能找到 rabbitmq-server
所以其最终对应的路径为 /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/net/rabbitmq-server
获取 rmd160、sha256 和文件大小
sha256 非常好获取,在文件所在目录直接运行即可
$ sha256 ./rabbitmq-server-generic-unix-4.0.4.tar.xz
SHA256 (./rabbitmq-server-generic-unix-4.0.4.tar.xz) = b024b75935bc9b30597b3ea5c5d3846b8a8f887e0f1d5703f00974ea481342f3
而 rmd160 则需要利用 openssl
命令(如果没有可以先通过 port
安装):
$ openssl dgst -rmd160 ./rabbitmq-server-generic-unix-4.0.4.tar.xz
RIPEMD-160(./rabbitmq-server-generic-unix-4.0.4.tar.xz)= 90dd6e7a4ce6a34cd3ec0af62995cdecc5812b4e
文件大小直接通过 ls -l
命令即可:
$ ls -l ./rabbitmq-server-generic-unix-4.0.4.tar.xz
-rw-r--r--@ 1 maxsky staff 16236548 12 18 14:43 ./rabbitmq-server-generic-unix-4.0.4.tar.xz
其中 16236548
就是文件字节大小
替换对应内容
原内容
github.setup rabbitmq rabbitmq-server 3.11.15 v
checksums rmd160 c30a5ee11a501b8a271bda39f92dd8125230f4c6 \
sha256 538be3c85e8cad10de62705714f71eaacb04339f73a81477c91478600bb8253c \
size 20897748
将原内容中的版本号以及两个指纹值修改保存即可
github.setup rabbitmq rabbitmq-server 4.0.4 v
checksums rmd160 90dd6e7a4ce6a34cd3ec0af62995cdecc5812b4e \
sha256 b024b75935bc9b30597b3ea5c5d3846b8a8f887e0f1d5703f00974ea481342f3 \
size 16236548
执行安装/更新
低版本升级直接运行 upgrade
,安装就直接 install
sudo port upgrade rabbitmq-server