You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS下使用asdf安装Ruby 3.0.3因Digest::SHA模块报错无法编译

macOS asdf安装Ruby 3.0.3 Digest::SHA报错解决方案

"$errmsg" is not exported by the Digest::SHA module报错的核心原因是Homebrew安装的Perl版本替换了系统默认Perl环境,导致/usr/local/bin/shasum调用的依赖模块版本不兼容,校验Ruby源码包哈希值失败,最终触发编译流程失败。

修复步骤

  • 先清理之前安装失败的残留文件

    asdf uninstall ruby 3.0.3
    
  • 确认shasum调用优先级,执行命令查看所有shasum路径

    which -a shasum
    

    正常系统默认shasum路径为/usr/bin/shasum,如果输出的第一个路径是/usr/local/bin/shasum即可确认是Homebrew版本的shasum引发的冲突。

  • 可选方案1:临时生效(仅对当前终端会话有效)
    执行命令将系统默认shasum优先级提前,再重新安装即可

    export PATH="/usr/bin:$PATH"
    asdf install ruby 3.0.3
    
  • 可选方案2:永久生效(不需要保留Homebrew版Perl)
    直接卸载Homebrew安装的Perl包,重启终端后即可正常安装

    brew uninstall perl
    
  • 可选方案3:永久生效(需要保留Homebrew版Perl)
    给asdf单独指定使用系统默认shasum,打开你用的shell配置文件(/.zshrc对应Zsh,/.bash_profile对应Bash),新增如下配置

    export ASDF_RUBY_SHASUM=/usr/bin/shasum
    

    重载配置后重新运行安装命令即可

    # Zsh用户执行
    source ~/.zshrc
    # Bash用户执行
    source ~/.bash_profile
    asdf install ruby 3.0.3
    

内容的提问来源于stack exchange,提问作者Fa11enAngel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:24:03