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

部署Rails 7.1至Dokku时卡在Installing date 3.3.4 with native extensions

解决建议
  • 检查Droplet资源配置:如果使用1核1G的低配Droplet,编译Ruby原生扩展时易因内存不足卡住。可临时升级到2核2G配置完成部署后再降级;或在Droplet上创建swap分区缓解压力:

    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    
  • 调整date gem版本:date 3.3.4的原生扩展编译可能存在兼容性问题,在Gemfile中指定更低的稳定版本:

    gem 'date', '3.3.3'
    

    执行bundle update date后重新推送部署。若无需显式依赖该gem,可尝试移除Gemfile中的相关声明,使用Ruby自带的date库。

  • 获取详细部署日志:部署时添加环境变量强制输出详细日志:

    git push dokku main VERBOSE=1
    

    同时在Droplet上执行以下命令查看部署相关日志:

    dokku logs <你的应用名称>
    dokku builder-docker logs <你的应用名称>
    
  • 切换Dokku构建器:尝试将默认的docker builder切换为pack builder,它对Ruby应用的编译流程优化更友好:

    dokku builder:set <你的应用名称> selected pack
    

    配置完成后重新推送部署。

  • 手动编译排查:登录Droplet,克隆代码后手动执行bundle install,直接观察终端输出定位问题。若缺少编译依赖,安装基础编译工具:

    sudo apt-get install -y build-essential libssl-dev libreadline-dev zlib1g-dev
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:52:10