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

将Ruby on Rails应用部署至Railway时遇bundler错误求助

解决Railway部署Rails应用时bundler: not executable: bin/rails错误

核心修复步骤

  • 修复bin目录文件可执行权限
    Rails的binstubs文件(如bin/rails、bin/rake)必须拥有可执行权限,本地执行以下命令后重新提交代码:

    chmod +x bin/*
    git add bin/
    git commit -m "Fix binstub executable permissions"
    git push
    

    本地开发时权限通常正常,但Git提交可能丢失权限配置,导致Railway拉取代码后无法执行相关文件。

  • 调整Railway构建与启动命令
    在项目的"Settings" -> "Build"面板中,设置构建命令为:

    bundle install && rake assets:precompile && rake db:migrate
    

    启动命令设置为:

    bin/rails server -p $PORT
    

    确保启动时调用的是项目内的bin/rails,而非全局命令。

  • 同步Gemfile.lock文件
    本地执行bundle install更新Gemfile.lock,确保其与当前Ruby、Rails版本匹配,然后提交到仓库,避免因依赖版本不一致导致的执行问题。

  • 验证环境变量配置
    确认已设置RAILS_ENV=production,且DATABASE_URL与Railway上创建的PostgreSQL实例正确关联,避免数据库配置问题间接引发启动失败。

额外排查方案

若以上步骤无效,可尝试重新生成binstubs:

rails app:update:bin
chmod +x bin/*
git add bin/
git commit -m "Regenerate binstubs"
git push

这会生成适配当前Rails版本的全新binstub文件,解决旧文件的兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:55:15