Rails 7.1.1 - 发生生成错误 - 乘客 - 您已经激活了 stringio 3.0.0,但您的 Gemfile 需要 stringio 3.0.8

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

升级到最新版本的rails时,我遇到以下错误,乘客拒绝启动。

The application encountered the following error: You have already activated stringio 3.0.0, but your Gemfile requires stringio 3.0.8. Since stringio is a default gem, you can either remove your dependency on it or try updating to a newer version of bundler that supports stringio as a default gem. (Gem::LoadError)

查看安装的gems版本,只定义了

stringio (default: 3.0.0)

在我的 gemlock 文件中我们现在有

psych (5.1.1.1) stringio

stringio (3.0.8)

我的堆栈支持团队针对此问题提出的一个建议是将 gem 'stringio', '3.0.0' 放入 gemfile 中并强制它使用此版本。

这对我来说感觉不对,而且是我以前从未做过的事情

问题:

  • 任何人都可以提供有关上述解决方案是否正确的建议吗?
  • 任何人都可以帮助我指出正确的方向,以找到另一个解决方案来解决此问题以及我应该在哪里寻找?
ruby-on-rails ruby bundler passenger ruby-on-rails-7
1个回答
0
投票

我遇到了同样的问题,并尝试了我能想到的一切...重建 Passenger Docker、更新捆绑器、手动删除

stringio
gem(这是不允许的,因为它是默认 gem)。

我想出的唯一有效的解决方案是更新我的项目的

Gemfile
以明确要求 Passenger Docker 默认使用的
stringio
版本。

对我来说,这意味着编辑 ./Gemfile 添加:

gem "stringio", "3.0.1"

我同意你的观点,这感觉像是一个质量非常低的解决方法,可能会在未来产生更多的维护开销。

© www.soinside.com 2019 - 2024. All rights reserved.