10

bundle install正在给:

> undefined method `ruby' for #<Bundler::Dsl:0x00000001c4e1f8>

知道如何解决吗?我正在使用 Ruby 1.9.3-p125。

4

4 回答 4

19

Gembundler 1.2 版向 dsl引入了一种ruby方法,允许您指定应用程序应使用的 Ruby 版本。

您使用的似乎Gemfile是为这个新版本编写的,但您拥有的捆绑器版本不支持该ruby方法。您需要安装最新的捆绑程序(gem install bundler应该这样做)或从Gemfile.

于 2012-07-15T02:27:36.367 回答
5

运行这些命令问题将解决

步骤 1:安装捆绑器 gem install bundler
步骤 2:捆绑安装

它将解决问题..

于 2014-02-21T10:04:10.843 回答
1

您正在调用ruby 'something or other'您的 Gemfile。

这个单行应该为您找到有问题的行(注意,您需要与 Gemfile 位于同一目录中,并且 ca$h 表示提示 - 在您的系统上这可能是>

$ ruby -ne 'print "(line #$.) #$_" if /^\s*ruby/' Gemfile

在不理解您为什么这样做的情况下,我无法告诉您应该做什么,但是没有任何ruby方法可以作为 bundler 的 DSL 的一部分。

您可以在此处查看 DSL 代码。

您可以在此处查看 Bundler 的文档,并在此处查看 Gemfiles 的文档。

于 2012-07-14T04:30:41.533 回答
0

您可能使用的是过时版本的捆绑程序

您可以检查您正在使用的捆绑程序的版本

bundle --version

如果它早于 1.2 版,则根据matt 的回答,它可能已经过时了。

就我而言,我已经完成了gem install bundler,但忘记了rbenv rehash(我使用 rbenv),因此它不是使用我刚刚安装的捆绑程序,而是使用旧的、过时的版本。

于 2014-04-09T03:09:44.317 回答