2016-07-09 21 views
0

Ich bin ein Projekt zu machen, und wenn ich einen generieren Befehls ausführen ich die folgende Fehlermeldung erhalten:Gemfile ist nicht mit der angegebenen Ruby-Version

fullpath: /Users/adamgoldberg/shopify-sinatra-app/theappearsystemcontrol6 
Your Ruby version is 2.3.1, but your Gemfile specified 2.2.2 
Bundler::RubyVersionMismatch: Your Ruby version is 2.3.1, but your Gemfile specified 2.2.2 
    /Users/adamgoldberg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/definition.rb:417:in `validate_ruby!' 
    /Users/adamgoldberg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler.rb:91:in `setup' 
    /Users/adamgoldberg/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/setup.rb:19:in `<top (required)>' 
    /Users/adamgoldberg/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    /Users/adamgoldberg/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'bundler: failed to load command: rake (/Users/adamgoldberg/.rbenv/versions/2.3.1/bin/rake) 

Ich habe Ruby-Version 2.3.1 für mein Projekt zu verwenden, so Ich habe versucht, meine Gemfile-Version zu ändern. meine gemfile enthält nun diese:

ruby "~> 2.3" 

ich alle möglichen Befehle versucht haben, so dass die Gemfile erkennt an, dass ich eine andere Ruby-Version verwenden möchten. Ich habe versucht:

bundle update 
bundle install 
gem bundle install 
rbenv rehash 

sogar meine Gemfile.lock sagt, es wird mit 2.3.1:

RUBY VERSION 
    ruby 2.3.1p112 

Ich habe sogar das Projekt gelöscht und erneut gestartet.

Bitte helfen


Ein Update: Ich habe das Projekt gelöscht und neu gestartet. hier sind die genauen Schritte, die ich von meinem Home-Verzeichnis nahm

ruby -v: #2.3.1 
git clone https://github.com/kevinhughes27/shopify-sinatra-app.git 
gem install shopify-sinatra-app 
shopify-sinatra-app-generator new myshop 

und den gleichen Fehler wie oben erschienen:

Your Ruby version is 2.3.1, but your Gemfile specified 2.2.2 

Mein Gemfile sieht wie folgt aus:

source 'https://rubygems.org' 
gemspec 

es praktisch leer ist. .. Ich habe nicht einmal die Rubin-Version angegeben Ich lief dann

bundle install 
bundle update 

immer noch der gleiche Fehler erscheint. ich dann in meinem Gemspect die Ruby-Version angegeben und es sieht nun wie folgt aus:

source 'https://rubygems.org' 
ruby "2.3.1" 
gemspec 

aber immer noch der gleiche Fehler erscheint

Antwort

0

Das glaube ich nicht, dass Sie Version Bezeich wie das für die Ruby-Version verwenden können . Ich habe nie irgendwelche Beispiele dafür gesehen.

Vielleicht ist es wie dies versuchen, wenn Sie v2.3.1 wollen:

ruby "2.3.1" 
+0

Das funktioniert auch nicht. habe es einfach ausprobiert und benutze bundle update ... meine gemfile sagt jetzt: ruby ​​"2.3.1" –

0

Der Versuch, Sie nehmen hier:

ruby "~> 2.3" 

wie der richtige Ansatz scheint, aber Sie sollten eine genaue verwenden Ruby Version:

ruby "2.3.1" 

Es ist erwähnenswert, dass Sie Ihren Ruby nicht unbedingt manuell angeben müssen überall, wenn Sie nicht wollen.


aktualisiert Antwort

i kloniert, um das Juwel und versuchte, es zu installieren. Ich habe den gleichen Fehler. Ich habe herausgefunden, wo die Quelle der 2.2.2 Abhängigkeit ist. Es ist im Quellcode des Edelsteins, der für mich ~/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/shopify-sinatra-app-0.3.0 ist. In examples/Gemfile gibt es eine ruby '2.2.2' Linie.

Ich habe versucht, diese Zeile zu entfernen, aber es gab einen anderen Fehler bei der Installation von ActiveSupport. Ich denke, es ist wahrscheinlich, dass die einfachste Lösung zum Generieren einer App mit diesem Juwel wäre, installieren Sie Ruby 2.2.2

+0

Also habe ich das Projekt gelöscht und von vorne angefangen - hier sind die genauen Schritte, die ich gemacht habe ... –

+0

wo sind die genauen Schritte die du machst dauerte? Hast du nach einer '.ruby-Version' Datei in deinem Repo gesucht? –

+0

Ich habe die Frage bearbeitet, die die genauen Schritte beschreibt. –