Heroku部署Rails 8.0.2应用报错:无法找到ruby可执行文件
解决Heroku部署Rails应用时
/usr/bin/env: ‘ruby’: No such file or directory错误 核心原因
你仅配置了Node.js Buildpack,但Rails是Ruby框架,Heroku不会自动为Node环境安装Ruby,导致启动时执行bundle exec puma找不到Ruby解释器,触发进程退出码127和H10崩溃错误。
解决方案步骤
1. 添加Ruby Buildpack到Heroku应用
Ruby Buildpack必须在Node Buildpack之前加载,确保Ruby环境先被安装:
heroku buildpacks:add --index 1 heroku/ruby
执行后用以下命令确认顺序:
heroku buildpacks
输出应显示heroku/ruby排在heroku/nodejs之前。
2. 确认Ruby版本配置文件已提交
确保项目根目录存在以下文件并已提交到Git:
.ruby-version:内容为3.4.3Gemfile:开头包含ruby '3.4.3'
3. 重新部署应用
git add . git commit -m "Add Ruby Buildpack and validate Ruby version config" git push heroku main
额外排查点
- 本地用Mise管理Ruby是独立于Heroku环境的,Heroku依赖Buildpack提供运行时环境,不能混淆两者配置。
- 你之前尝试的本地Ruby重装、路径配置对Heroku部署无影响,问题完全出在Heroku的Buildpack配置缺失。
- 启动命令
bundle exec puma -C config/puma.rb是Rails默认的Procfile命令,必须在Ruby环境下执行,Node Buildpack无法提供该环境。
内容的提问来源于stack exchange,提问作者user3763682
相关产品推荐
相关产品推荐

