Bundler在升级到Rubygems 1.5.0后抛出未初始化的常量Gem :: SilentUI(NameError)错误

我运行gem update --system更新到Rubygems 1.5.0,每次运行任何bundle命令后,我都会得到:

rvm/gems/ruby-1.8.7-p249/gems/bundler-1.0.9/lib/bundler/ui.rb:56: uninitialized constant Gem::SilentUI (NameError)

其他人遇到过这个问题吗?

更新到捆绑1.0.10或以上( gem update bundler )。 该问题在更高版本中得到解决。

如果你对捆绑器的内容有点模糊,又不想学习,那么这个问题的简短答案是:

 gem install bundler 

这个问题跟踪器在我的统计中已经发布了6次。

这是我一直链接到每个人: https : //github.com/carlhuda/bundler/issues/issue/995

回复:“只需更新到捆绑软件1.0.10”。 – 请注意,您不一定可以通过简单的操作来获取新版本

 sudo gem update 

您需要完全卸载当前的捆绑器,忽略关于它的依赖关系的警告,然后重新安装它。 这固定了我的Bundler 1.0.7,并让我的系统再次工作。

它看起来像今天刚刚出来的RubyGems 1.5.0与Bundler 1.0.9不兼容。

您可能会想要降级到RubyGems 1.4,直到Bundler发布更新(很可能很快)。

更新: Bundler 1.0.10现在已经出来。

您也可以降级Rubygems,但是这并不理想,但是对于遗留系统,如果您需要特定的捆绑器版本,则必须执行此操作。

例如,在我正在使用的应用程序中,

Ruby 1.8.6-p383 RubyGems 1.3.6 Bundler 0.9.26

请注意,如果您使用rvm,则可能无法自行升级捆绑器。 您可能需要升级rvm才能更新打包程序,因为rvm非常紧密地集成了打包程序。 我得到这个错误,试图升级捆绑器,不能,升级rvm修复我的问题。