如何将 Ruby 预览版与 Bundler 结合使用并继续部署到 Heroku

问题描述 投票:0回答:1

在使用bundler和Heroku的项目中,我想测试ruby-3.3.0-preview1版本,我可以使bundler在本地使用预览版本,但无法将其部署到Heroku,并且Heroku文档中的说明没有'不在本地工作。

我可以安装 ruby 版本(我正在使用 rbenv)并将要与我的 .ruby-version 文件一起使用的版本设置为

3.3.0-preview1
(或者如果我愿意,我可以使用 rbenv-alias 将其称为 3.3.0插件,但这也不能解决问题)。

我可以通过在 Gemfile 中指定不同但相似的名称来使用预览版本:

ruby '3.3.0preview1'

它按预期工作,在本地,安装新版本中的所有gems,并且可以确认应用程序中的RUBY_VERSION是3.3.0。

但是,Heroku 不接受这个版本,它会引发错误:

The Ruby version you are trying to install does not exist: ruby-3.3.0.preview1

并且Heroku文档建议将3.3.0放入Gemfile中,但这实际上也不起作用,因为如果我只使用3.3.0,捆绑器不会在本地运行,它说:

Your Ruby version is 3.3.0.preview1, but your Gemfile specified 3.3.0

Obs.:我还尝试在 Gemfile 中指定 Preview1 作为补丁级别,但这也不起作用:

ruby '3.3.0', patchlevel: 'preview1'
ruby heroku bundler
1个回答
0
投票

您可能需要更改 Heroku 堆栈。

您可以通过

检查您的
heroku stack

验证您使用的是最新版本(heroku-22),通常,它支持较新的 Ruby 版本,并且它表示在 Gemfile 中使用 3.3.0

3.3.0-preview1

如果不是

heroku-22
,您将需要设置它:

heroku stack:set heroku-22

请注意,升级到最新堆栈有其流程和一些影响

并且

3.3.0-preview1
5月12日

开始可用
© www.soinside.com 2019 - 2024. All rights reserved.