2017-03-22 5 views
0

Ich habe eine Rails App. Mein Mitarbeiter hat die Ruby-Version der App aktualisiert und Edelsteine ​​hinzugefügt. Ich musste meine lokale Version von Ruby auf 2.3.1 aktualisieren.Ruby Gems nicht gefunden trotz Paket installieren

Nun scheint es, dass rails s an einem anderen Ort nach Edelsteinen sucht, als wenn das Paket sie installiert. Was muss ich tun, damit beide am selben Ort Edelsteine ​​platzieren und suchen?

Konkret, wenn ich versuche, den Rails-Server mit

rails s

ich die Nachricht

/Users/Falk/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'railties' (>= 0) among 5 total gem(s) (Gem::LoadError) 
 
Checked in 'GEM_PATH=/Users/Falk/.gem/ruby/2.3.0:/Users/Falk/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0', execute `gem env` for more information 
 
\t from /Users/Falk/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/dependency.rb:328:in `to_spec' 
 
\t from /Users/Falk/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_gem.rb:65:in `gem' 
 
\t from /usr/local/bin/rails:22:in `<main>'

Diese ha erhalten zu starten ppens obwohl ich schon

bundle install

und alle erforderlichen Edelsteine ​​sind in der Edelstein-Datei enthalten ausgeführt haben. Ich war in der Lage, Fortschritte zu machen, indem Sie manuell zu deinstallieren und einzelne Edelsteine ​​durch

gem uninstall <gem_name> 
 
gem install <gem_name>

Neuinstallation aber es hielt etwa ein fehlendes Juwel nach dem anderen auf beschweren. Dann deinstallierte ich alle Edelsteine ​​mit

for x in `gem list --no-versions`; do gem uninstall $x -a -x -I; done

Danach installieren bündeln wirkt immer noch, als ob alle Edelsteine ​​bereits installiert wurden. Aber Schienen funktioniert immer noch nicht und beschwert sich über fehlende Edelsteine. Was sollte ich jetzt tun?

Antwort

0

Zum Service/Repository, das Sie versuchen, auszuführen und zu bin/Bundle-Datei gehen. Öffnen Sie die Datei und Sie erhalten einen Code-Schnipsel wie diese finden:

ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) 
load Gem.bin_path('bundler', 'bundle') 

Ändern Sie den Pfad zu Ihrem gemfile wie hier erwähnt wird, wonach in Ihrem Service/repository Sie Ihre gemfile finden. Überprüfen Sie die Quelle, indem Sie den richtigen Verzeichnispfad angeben. Danach sind alle Edelsteine ​​in die Edelstein-Datei, wie folgt aus:

gem 'protobuf' 
gem 'grpc' 
gem 'protobuf-activerecord' 

Schließlich

Bündel Liste

zu überprüfen verwenden, wenn die Bündler die Edelsteine ​​alle in es initialisiert hat.

Verwandte Themen