bundle install
donne :
> undefined method `ruby' for #<Bundler::Dsl:0x00000001c4e1f8>
Une idée de la façon de réparer ? J'utilise Ruby 1.9.3-p125.
bundle install
donne :
> undefined method `ruby' for #<Bundler::Dsl:0x00000001c4e1f8>
Une idée de la façon de réparer ? J'utilise Ruby 1.9.3-p125.
Version 1.2 de Gembundler a introduit un ruby
à la méthode dsl qui vous permet de spécifier la version de Ruby que votre application doit utiliser.
On dirait que le Gemfile
que vous utilisez a été écrit pour cette nouvelle version, mais la version de bundler que vous possédez ne prend pas en charge l'option ruby
méthode. Vous devez soit installer le dernier bundler ( gem install bundler
devrait le faire) ou supprimez la ligne de votre Gemfile
.
Vous appelez ruby 'something or other'
dans votre Gemfile.
Cette ligne devrait trouver la ligne incriminée pour vous (notez que vous devez être dans le même répertoire que le Gemfile, et que le ca$h indique l'invite -- sur votre système, cela peut être >
)
$ ruby -ne 'print "(line #$.) #$_" if /^\s*ruby/' Gemfile
Sans comprendre pourquoi vous avez fait cela, je ne peux pas vous dire ce que vous auriez dû faire à la place, mais il n'y a pas d'autre solution. ruby
dans le cadre du DSL de bundler.
Vous pouvez voir le code DSL aquí .
Vous pouvez consulter la documentation de Bundler aquí et la documentation sur les Gemfiles aquí .
Vous utilisez peut-être une version obsolète de bundler.
Vous pouvez vérifier la version de bundler que vous utilisez avec
bundle --version
S'il est antérieur à la version 1.2, il est probablement périmé, sur la base des éléments suivants réponse de matt .
Dans mon cas, j'avais fait gem install bundler
mais j'ai oublié de le faire. rbenv rehash
(j'utilise rbenv), et donc il n'utilisait pas le bundler que je venais d'installer, mais une version ancienne et périmée.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.