为什么是“捆绑包更新”?安装古代宝石?

发布于 2024-11-09 10:53:53 字数 504 浏览 0 评论 0原文

一切都工作得很好,直到突然,捆绑更新决定“更新”到一些宝石的一些非常旧的版本。有什么想法吗?我很困惑!

Gemfile 没有指定错误 gem 的版本。例如。

gem 'rails'

我确实...

bundle update

并且(!)...

Using rails (0.9.5)

如果我指定一个版本。例如。

gem 'rails', '~> 3.0'

然后就可以了。

Using rails (3.0.7)

来源 'http://rubygems.org'

Gem 版本 1.8.3,rvm 版本 1.6.14

只有一些 gem 是错误的。 mongoid 是另一个。现在是 1.0.6。谢谢!

Everything was working just fine until, out of the blue, bundle update decided to 'update' to some very old versions of some gems. Any ideas? I'm baffled!

The Gemfile doesn't specify a version for the awry gems. eg.

gem 'rails'

I do...

bundle update

And(!)...

Using rails (0.9.5)

If I specify a version. eg.

gem 'rails', '~> 3.0'

Then it's ok.

Using rails (3.0.7)

Source 'http://rubygems.org'

Gem version 1.8.3, rvm version 1.6.14

Only some gems are wrong. mongoid is another. It's on 1.0.6. Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

离线来电— 2024-11-16 10:53:53

问题解决了。这是一场宝石冲突。我把它归结为......

只有这两个宝石:

gem 'rails'
gem 'i18n'

你得到 i18n 0.6.0 (最新的),但 Rails 是 3.0.5 (3.0.7 是当前最新的)。

然后只有这三个:

gem 'rails'
gem 'i18n'
gem 'delayed_job'

你会得到:

Gems included by the bundle:
  * actionmailer (0.6.1)
  * actionpack (1.4.0)
  * activerecord (1.6.0)
  * activesupport (3.0.7)
  * bundler (1.0.13)
  * daemons (1.1.3)
  * delayed_job (2.1.4)
  * i18n (0.6.0)
  * rails (0.9.5)  <-- Yikes! that brings back memories!
  * rake (0.9.0)

我还没有更深入地研究捆绑器的 gem 依赖项是如何工作的,但这就是导致它的原因。有趣的!当然,无论如何都不需要包含 i18n gem,因此删除它可以修复问题(或指定 gem 版本)。

Problem solved. It was a gem conflict. I boiled it down to...

With just these two gems:

gem 'rails'
gem 'i18n'

You get i18n 0.6.0 (the latest) but rails is on 3.0.5 (3.0.7 is current latest).

And then with just these three:

gem 'rails'
gem 'i18n'
gem 'delayed_job'

You get:

Gems included by the bundle:
  * actionmailer (0.6.1)
  * actionpack (1.4.0)
  * activerecord (1.6.0)
  * activesupport (3.0.7)
  * bundler (1.0.13)
  * daemons (1.1.3)
  * delayed_job (2.1.4)
  * i18n (0.6.0)
  * rails (0.9.5)  <-- Yikes! that brings back memories!
  * rake (0.9.0)

I've not looked deeper into how bundler's gem dependencies work yet, but that was what caused it. Interesting! And of course there's no need to include the i18n gem anyway, so removing that fixes things (or specifying gem versions).

似狗非友 2024-11-16 10:53:53

试试这个。

只需更新您的捆绑程序,可能任何一个较旧的 gem 与最新的 gem 冲突,就会出现此类问题。

'gem install bundler'

然后'bundler install'

如果再次发现错误,则删除GEM.lock文件,然后运行bundler install。它可能会解决该问题。

Try this one.

Just update your bundler, May be of any-one of the older gem is conflicting with latest one, this type of issues arises.

'gem install bundler'

and then 'bundler install'

If you find again error, then delete GEM.lock file, then run bundler install. It may resolve the issue.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文