Heroku-22环境下触发Ruby安装的最小Gemfile配置咨询
最小化Gemfile配置以触发Heroku Ruby安装
你只需要两个极简文件就能让Heroku的Ruby buildpack完成检测并安装Ruby,完全不需要额外Ruby依赖:
1. 创建Gemfile
内容可以非常简单,甚至空文件也能通过检测,但指定Ruby版本能避免Heroku默认安装的版本和你的MySQL buildpack不兼容的问题,推荐用Heroku-22支持的稳定版本,比如:
ruby "3.2.2"
(如果不确定选哪个版本,直接用Heroku当前默认的Ruby版本即可,空的Gemfile也能触发安装)
2. 创建Gemfile.lock
这个文件是Ruby依赖的锁定文件,有两种方式生成:
- 如果你本地有Ruby环境,执行
bundle install就能自动生成; - 要是本地没Ruby,直接手动创建一个极简版本,内容如下(对应上面的Ruby 3.2.2版本):
remote: https://rubygems.org/ specs: PLATFORMS ruby DEPENDENCIES RUBY VERSION ruby 3.2.2p53 BUNDLED WITH 2.4.10
3. 调整Heroku Buildpack顺序
记得把Ruby buildpack放在你的MySQL buildpack之前,用命令调整:
# 先添加Ruby buildpack到第一位 heroku buildpacks:add --index 1 heroku/ruby # 再添加你的PHP buildpack和目标MySQL buildpack(按实际顺序调整) heroku buildpacks:add --index 2 heroku/php heroku buildpacks:add --index 3 你使用的thoughtbot MySQL buildpack
这样配置后,Heroku就会自动安装指定的Ruby版本,满足那个MySQL buildpack的依赖需求,同时不会影响你的PHP应用运行。
内容的提问来源于stack exchange,提问作者Stefano
相关产品推荐
相关产品推荐

