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

Mac M1安装SDKMAN失败:执行curl命令遇退出码56错误求助

解决M1 Mac安装SDKMAN时curl exit code 56错误

可能的原因及解决步骤

1. 排查网络代理干扰

  • 关闭全局代理、VPN等工具,这类工具常导致curl无法正常连接SDKMAN服务器
  • 执行命令查看当前代理环境变量:
    echo $http_proxy $https_proxy
    
  • 若有输出,临时清空代理:
    unset http_proxy https_proxy
    
    之后重新运行安装命令

2. 调整DNS解析设置

M1 Mac的DNS解析异常可能引发该问题,尝试切换公共DNS:

  • 打开「系统设置」-「网络」- 选中当前网络(Wi-Fi/以太网)-「详细信息」-「DNS」
  • 添加8.8.8.8和8.8.4.4到DNS服务器列表并移至顶部
  • 刷新DNS缓存:
    sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
    
    完成后重新运行安装命令

3. 手动修改安装脚本参数

如果默认脚本的curl参数无法正常工作,手动下载并调整:

  • 下载安装脚本:
    curl -O https://get.sdkman.io
    
  • 用文本编辑器打开脚本,找到包含SDKMAN_CANDIDATES_CSV=$(curl -s "${SDKMAN_SERVICE}/candidates/all")的行
  • 将-s替换为-v -L(开启 verbose 输出和自动重定向),保存修改
  • 运行修改后的脚本:
    bash get.sdkman.io
    

4. 排除oh-my-zsh环境干扰

  • 临时禁用oh-my-zsh自定义配置,重命名配置文件:
    mv ~/.zshrc ~/.zshrc.bak
    
  • 重启终端(此时zsh使用默认配置),重新运行安装命令
  • 安装完成后恢复原配置:
    mv ~/.zshrc.bak ~/.zshrc
    

5. 手动补全SDKMAN初始化

如果安装脚本已完成大部分步骤,仅候选包获取失败:

  • 加载SDKMAN环境:
    source "$HOME/.sdkman/bin/sdkman-init.sh"
    
  • 手动更新候选包列表:
    sdk update
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 16:12:03