MacPorts 中安装高/低版本软件方式,以 RabbitMQ 为例

查询信息

这里以 RabbitMQ 为例,通过搜索得到默认安装版本信息:

bash 复制代码
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 非常好获取,在文件所在目录直接运行即可

bash 复制代码
$ 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 命令即可:

bash 复制代码
$ 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

bash 复制代码
sudo port upgrade rabbitmq-server
相关推荐
布谷歌15 分钟前
Oops! 更改field的数据类型,影响到rabbitmq消费了...(有关于Java序列化)
java·开发语言·分布式·rabbitmq·java-rabbitmq
一个假的前端男19 分钟前
RabbitMQ 消息队列 优化发送邮件
分布式·rabbitmq·ruby
A尘埃21 分钟前
关闭超时订单和七天自动确认收货+RabbitMQ规范
分布式·rabbitmq
m0_7482412324 分钟前
RabbitMq 基础
分布式·rabbitmq·ruby
清风细雨_林木木3 小时前
Mac 清理缓存,提高内存空间
macos·缓存
Macdo_cn3 小时前
Screen Wonders for Mac v3.3.1 3D屏保应用 支持M、Intel芯片
macos·音视频
星星点点洲14 小时前
【RabbitMQ业务幂等设计】RabbitMQ消息是幂等的吗?
rabbitmq
劉煥平CHN17 小时前
RabbitMQ的脑裂(网络分区)问题
网络·分布式·rabbitmq
秋窗719 小时前
Mac下Python版本管理,适用于pyenv不起作用的情况
开发语言·python·macos
书生执笔画浮沉1 天前
signature hdr data: BAD (signature 头部数据:不当)
升级·update