解决Ruby预览版在Bundler本地可用但无法部署至Heroku的问题
Ruby 3.3.0-preview1 在Bundler与Heroku环境下的部署问题
我想在使用Bundler和Heroku的项目中测试ruby-3.3.0-preview1版本,本地能让Bundler配合该预览版正常工作,但部署到Heroku时遇到问题,而且Heroku文档里的方案在本地不生效。
本地环境配置情况
- 通过rbenv安装了ruby-3.3.0-preview1,将
.ruby-version文件设置为3.3.0-preview1(也试过用rbenv-alias插件把它命名为3.3.0,没解决问题) - 在Gemfile中指定
ruby '3.3.0preview1'后,本地运行完全正常:所有gem都安装在这个新版本里,应用内也能确认RUBY_VERSION为3.3.0
部署到Heroku的问题
- 部署时Heroku报错:
The Ruby version you are trying to install does not exist: ruby-3.3.0.preview1
- 按照Heroku文档建议,把Gemfile里的Ruby版本改成
3.3.0,但本地Bundler直接报错:Your Ruby version is 3.3.0.preview1, but your Gemfile specified 3.3.0
- 尝试过在Gemfile里把preview1指定为补丁级别,同样无效:
ruby '3.3.0', patchlevel: 'preview1'
更新说明
我已经在Heroku Ruby构建包的仓库提交了问题,这看起来是一个bug。
内容的提问来源于stack exchange,提问作者Everton J. Carpes
相关产品推荐
相关产品推荐

