2012-07-14 1 views

risposta

1

Stai chiamando ruby 'something or other' nel tuo Gemfile.

Questa one-liner deve trovare la riga incriminata per voi (si noti che è necessario essere nella stessa directory come il Gemfile, e il ca $ h indica il prompt - sul sistema questo può essere >)

Senza capire perché l'hai fatto, non posso dirti cosa avresti dovuto fare invece, ma non esiste un metodo ruby come parte del DSL di bundler.

È possibile vedere il codice DSL here.

È possibile visualizzare la documentazione di Bundler here e la documentazione per Gemfiles here.

19

versione 1.2 di Gembundler introdotto un ruby method to the dsl che consente di specificare la versione di Ruby la vostra applicazione dovrebbe usare.

Sembra che lo Gemfile che si sta utilizzando sia stato scritto per questa nuova versione, ma la versione di bundler in uso non supporta il metodo ruby. È necessario installare l'ultimo bundler (gem install bundler) o rimuovere la linea dal proprio Gemfile.

5

eseguire questi comandi il problema risolverà

passo 1: installare bundler gem install bundler
fase 2: bundle install

che verrà risolvere il problema ..

0

È possibile che si stia utilizzando una versione obsoleta di bundler

È possibile controllare la versione di Bundler che si sta utilizzando con

bundle --version 

Se è precedente alla versione 1.2, è probabilmente superati, sulla base di matt's answer.

Nel mio caso, avevo fatto gem install bundler, ma ha dimenticato di fare rbenv rehash (io uso rbenv), e quindi non stava usando il Bundler avevo appena installato, ma un vecchio, versione non aggiornata.