如何在rails Gemfile中指定间接的gem依赖版本



在我的Gemfile中,我有:

gem 'msgpack_rails'
gem 'google-authenticator-rails'
.. etc

内部Gemfile.lock我看到:

google-authenticator-rails (2.0.0)
actionpack
activerecord
google-qr
rails
rotp (= 3.3.0)

如何在google authenticator rails gem中指定actionpackactiverecord版本?。

我需要直接在Gemfile.lock中这样写吗:

google-authenticator-rails (2.0.0)
actionpack (>2)
activerecord (>6)
google-qr
rails
rotp (= 3.3.0)

要直接回答您最初的问题,更新Gemfile.lock的该部分的正确方法是收紧此处的版本限制:https://github.com/jaredonline/google-authenticator/blob/a5d3d344cf8f10abd4c0bf85606c632dce48ca80/google-authenticator.gemspec#L27-L32

然而,我看不出任何证据表明这是必要的。我认为您混淆了依赖项约束

您的项目已经使用活动记录版本6.0.3.2。收紧google-authenticator-rails的约束不会改变这一事实。

您可以通过运行:bundle list来查看项目正在使用的所有依赖项的版本。

最新更新