2017-06-17 5 views
-1

Ich habe ein sehr großes Projekt in bestimmten Test-Version entwickelt, das Projekt läuft gut, aber es gibt ein Problem mit der rspec, Gemfile und Gemfile.lock, einige der Entwickler haben einige Edelsteine ​​aktualisiert, aber die alte Gemfile.lock nicht entfernt , so hatten wir kein Problem mit dem Projekt, weil die Gemfile nicht mit dem Projekt abgestürzt ist. Zu viele Commits nach, ich fand das Problem, denke ich, ist für die Unterschiede zwischen Edelsteinen.Rails Gemes Versionen und die `Gemfile` haben Probleme?

Wenn ich kopieren und die letzte Version der Gemfile.lock alle Spezifikationen Paste laufen gut, aber wenn ich die alte Gemfile.lock entfernen und wiederholen Sie die bundle install das Projekt wird viele Probleme mit den Spezifikationen Ich denke, für die ist zu präsentieren Gems-Version, aber ich versuche, die gleiche Version zu installieren, die ich in meinem alten Gemfile.lock habe und ich habe das gleiche Problem, auch gibt es einige Edelsteine, die die ursprüngliche Version nicht finden können.

Das Projekt ist so groß, und ich kann die Gemfile, nicht aktualisieren Ich denke, dass eine der möglichen Lösung mit einem Programm wandeln die Gemfile.lock zu Gemfile keine Fehler mit meiner Spezifikationen müssen

Dies ist

GEM 
    remote: https://rubygems.org/ 
    specs: 
    aasm (3.0.3) 
     activerecord 
    actionmailer (3.2.1) 
     actionpack (= 3.2.1) 
     mail (~> 2.4.0) 
    actionpack (3.2.1) 
     activemodel (= 3.2.1) 
     activesupport (= 3.2.1) 
     builder (~> 3.0.0) 
     erubis (~> 2.7.0) 
     journey (~> 1.0.1) 
     rack (~> 1.4.0) 
     rack-cache (~> 1.1) 
     rack-test (~> 0.6.1) 
     sprockets (~> 2.1.2) 
    active_median (0.0.1) 
    active_record_query_trace (1.5.4) 
    activemodel (3.2.1) 
     activesupport (= 3.2.1) 
     builder (~> 3.0.0) 
    activerecord (3.2.1) 
     activemodel (= 3.2.1) 
     activesupport (= 3.2.1) 
     arel (~> 3.0.0) 
     tzinfo (~> 0.3.29) 
    activeresource (3.2.1) 
     activemodel (= 3.2.1) 
     activesupport (= 3.2.1) 
    activesupport (3.2.1) 
     i18n (~> 0.6) 
     multi_json (~> 1.0) 
    addressable (2.2.7) 
    akami (1.0.0) 
     gyoku (>= 0.4.0) 
    algorithms (0.5.0) 
    arel (3.0.2) 
    awesome_nested_set (2.1.6) 
     activerecord (>= 3.0.0) 
    bcrypt-ruby (3.0.1) 
    bluepill (0.0.66) 
     activesupport (>= 3.0.0, < 4.0.0) 
     daemons (~> 1.1.4) 
     i18n (>= 0.5.0) 
     state_machine (~> 1.1) 
    bourne (1.6.0) 
     mocha (~> 1.1) 
    builder (3.0.0) 
    cancan (1.6.7) 
    capistrano (2.11.2) 
     highline 
     net-scp (>= 1.0.0) 
     net-sftp (>= 2.0.0) 
     net-ssh (>= 2.0.14) 
     net-ssh-gateway (>= 1.1.0) 
    coffee-rails (3.2.2) 
     coffee-script (>= 2.2.0) 
     railties (~> 3.2.0) 
    coffee-script (2.2.0) 
     coffee-script-source 
     execjs 
    coffee-script-source (1.2.0) 
    columnize (0.9.0) 
    daemons (1.1.9) 
    database_cleaner (0.7.2) 
    debugger (1.6.8) 
     columnize (>= 0.3.1) 
     debugger-linecache (~> 1.2.0) 
     debugger-ruby_core_source (~> 1.3.5) 
    debugger-linecache (1.2.0) 
    debugger-ruby_core_source (1.3.8) 
    devise (2.0.4) 
     bcrypt-ruby (~> 3.0) 
     orm_adapter (~> 0.0.3) 
     railties (~> 3.1) 
     warden (~> 1.1.1) 
    devise_lastseenable (0.0.6) 
     devise 
     rails (>= 3.0.4) 
    diff-lcs (1.1.3) 
    erubis (2.7.0) 
    exception_notification (2.6.1) 
     actionmailer (>= 3.0.4) 
    execjs (1.3.0) 
     multi_json (~> 1.0) 
    factory_girl (3.0.0) 
     activesupport (>= 3.0.0) 
    factory_girl_rails (3.0.0) 
     factory_girl (~> 3.0.0) 
     railties (>= 3.0.0) 
    faraday (0.7.6) 
     addressable (~> 2.2) 
     multipart-post (~> 1.1) 
     rack (~> 1.1) 
    geocoder (1.1.1) 
    groupdate (1.0.4) 
     activerecord (>= 3.0.0) 
    gyoku (0.4.4) 
     builder (>= 2.1.2) 
    highline (1.6.11) 
    hike (1.2.1) 
    holidays (3.3.0) 
    httpi (0.9.6) 
     rack 
    i18n (0.6.0) 
    i18n-inflector (2.6.6) 
     i18n (>= 0.4.1) 
    journey (1.0.3) 
    json (1.6.5) 
    kaminari (0.13.0) 
     actionpack (>= 3.0.0) 
     activesupport (>= 3.0.0) 
     railties (>= 3.0.0) 
    mail (2.4.4) 
     i18n (>= 0.4.0) 
     mime-types (~> 1.16) 
     treetop (~> 1.4.8) 
    metaclass (0.0.4) 
    mime-types (1.18) 
    mocha (1.2.1) 
     metaclass (~> 0.0.1) 
    multi_json (1.1.0) 
    multipart-post (1.1.5) 
    net-scp (1.0.4) 
     net-ssh (>= 1.99.1) 
    net-sftp (2.0.5) 
     net-ssh (>= 2.0.9) 
    net-ssh (2.9.2) 
    net-ssh-gateway (1.1.0) 
     net-ssh (>= 1.99.1) 
    newrelic_rpm (3.15.2.317) 
    nokogiri (1.5.2) 
    nori (1.1.0) 
    oauth (0.4.5) 
    oauth-plugin (0.4.0.rc2) 
     multi_json 
     oauth (~> 0.4.4) 
     oauth2 
     rack 
    oauth2 (0.5.2) 
     faraday (~> 0.7) 
     multi_json (~> 1.0) 
    orm_adapter (0.0.7) 
    passenger (5.0.28) 
     rack 
     rake (>= 0.8.1) 
    pg (0.18.4) 
    polyglot (0.3.3) 
    rabl (0.6.2) 
     activesupport (>= 2.3.14) 
     multi_json (~> 1.1.0) 
    rack (1.4.1) 
    rack-cache (1.2) 
     rack (>= 0.4) 
    rack-protection (1.2.0) 
     rack 
    rack-ssl (1.3.2) 
     rack 
    rack-test (0.6.1) 
     rack (>= 1.0) 
    rails (3.2.1) 
     actionmailer (= 3.2.1) 
     actionpack (= 3.2.1) 
     activerecord (= 3.2.1) 
     activeresource (= 3.2.1) 
     activesupport (= 3.2.1) 
     bundler (~> 1.0) 
     railties (= 3.2.1) 
    railties (3.2.1) 
     actionpack (= 3.2.1) 
     activesupport (= 3.2.1) 
     rack-ssl (~> 1.3.2) 
     rake (>= 0.8.7) 
     rdoc (~> 3.4) 
     thor (~> 0.14.6) 
    rake (11.1.2) 
    rdoc (3.12) 
     json (~> 1.4) 
    redis (2.2.2) 
    redis-actionpack (3.2.1) 
     actionpack (= 3.2.1) 
     redis-rack (~> 1.4.0) 
     redis-store (~> 1.1.0) 
    redis-activesupport (3.2.1) 
     activesupport (= 3.2.1) 
     redis-store (~> 1.1.0) 
    redis-namespace (1.0.3) 
     redis (< 3.0.0) 
    redis-rack (1.4.1) 
     rack (= 1.4.1) 
     redis-store (~> 1.1.0) 
    redis-rails (3.2.1) 
     redis-actionpack (~> 3.2.1) 
     redis-activesupport (~> 3.2.1) 
     redis-store (~> 1.1.0) 
    redis-store (1.1.0) 
     redis (~> 2.2.0) 
    resque (1.20.0) 
     multi_json (~> 1.0) 
     redis-namespace (~> 1.0.2) 
     sinatra (>= 0.9.2) 
     vegas (~> 0.1.2) 
    resque-scheduler (2.0.0) 
     redis (>= 2.0.1) 
     resque (>= 1.20.0) 
     rufus-scheduler 
    resque_mailer (2.0.3) 
     actionmailer (>= 3.0.0) 
     resque (>= 1.2.3) 
    resque_spec (0.12.2) 
     resque (>= 1.19.0) 
     rspec (>= 2.5.0) 
    rspec (2.9.0) 
     rspec-core (~> 2.9.0) 
     rspec-expectations (~> 2.9.0) 
     rspec-mocks (~> 2.9.0) 
    rspec-core (2.9.0) 
    rspec-expectations (2.9.0) 
     diff-lcs (~> 1.1.3) 
    rspec-mocks (2.9.0) 
    rspec-rails (2.9.0) 
     actionpack (>= 3.0) 
     activesupport (>= 3.0) 
     railties (>= 3.0) 
     rspec (~> 2.9.0) 
    rufus-scheduler (2.0.17) 
     tzinfo (>= 0.3.23) 
    rvm-capistrano (1.0.2) 
     capistrano (>= 2.0.0) 
    sass (3.1.15) 
    sass-rails (3.2.5) 
     railties (~> 3.2.0) 
     sass (>= 3.1.10) 
     tilt (~> 1.3) 
    savon (0.9.9) 
     akami (~> 1.0) 
     builder (>= 2.1.2) 
     gyoku (>= 0.4.0) 
     httpi (~> 0.9) 
     nokogiri (>= 1.4.0) 
     nori (~> 1.1) 
     wasabi (~> 2.1) 
    shoulda-matchers (1.5.6) 
     activesupport (>= 3.0.0) 
     bourne (~> 1.3) 
    simplecov (0.6.1) 
     multi_json (~> 1.0) 
     simplecov-html (~> 0.5.3) 
    simplecov-html (0.5.3) 
    sinatra (1.3.2) 
     rack (~> 1.3, >= 1.3.6) 
     rack-protection (~> 1.2) 
     tilt (~> 1.3, >= 1.3.3) 
    slack-notifier (1.5.1) 
    sprockets (2.1.2) 
     hike (~> 1.2) 
     rack (~> 1.0) 
     tilt (~> 1.1, != 1.3.0) 
    sqlite3 (1.3.5) 
    state_machine (1.2.0) 
    strip_attributes (1.1.0) 
     activemodel (~> 3.0) 
    sugarcrm (0.9.18) 
     activesupport (>= 2.3.10) 
     i18n 
     json 
    thor (0.14.6) 
    tilt (1.3.3) 
    timecop (0.8.1) 
    timezone (0.99.2) 
    treetop (1.4.10) 
     polyglot 
     polyglot (>= 0.3.1) 
    typhoeus (0.3.3) 
     mime-types 
    tzinfo (0.3.49) 
    uglifier (1.2.3) 
     execjs (>= 0.3.0) 
     multi_json (>= 1.0.2) 
    vegas (0.1.11) 
     rack (>= 1.0.0) 
    warden (1.1.1) 
     rack (>= 1.0) 
    wasabi (2.1.0) 
     nokogiri (>= 1.4.0) 

PLATFORMS 
    ruby 

DEPENDENCIES 
    aasm 
    active_median 
    active_record_query_trace 
    algorithms 
    awesome_nested_set 
    bluepill 
    cancan 
    capistrano 
    coffee-rails (~> 3.2.1) 
    database_cleaner (~> 0.7.1) 
    debugger 
    devise 
    devise_lastseenable 
    exception_notification (~> 2.6.1) 
    factory_girl_rails 
    geocoder 
    groupdate 
    holidays 
    i18n-inflector 
    kaminari 
    net-ssh (= 2.9.2) 
    newrelic_rpm 
    nokogiri 
    oauth-plugin (>= 0.4.0.pre1) 
    passenger 
    pg 
    rabl (~> 0.6.0) 
    rails (= 3.2.1) 
    redis-rails 
    resque (~> 1.20.0) 
    resque-scheduler 
    resque_mailer (~> 2.0.3) 
    resque_spec 
    rspec-rails (~> 2.4) 
    rvm-capistrano 
    sass-rails (~> 3.2.3) 
    savon (~> 0.9.9) 
    shoulda-matchers (~> 1.5.0) 
    simplecov 
    slack-notifier (~> 1.5, >= 1.5.1) 
    sqlite3 
    strip_attributes (~> 1.0) 
    sugarcrm 
    timecop 
    timezone 
    typhoeus (~> 0.3.3) 
    tzinfo (~> 0.3.49) 
    uglifier (>= 1.0.3) 

BUNDLED WITH 
    1.14.6 
Und hier ist mein attemp die Gemfile.lock zum Gemfile kopieren: macht auch meine alten Gemfile.lock, dass mein rspec laufen

source 'https://rubygems.org' 

gem 'rails', '3.2.1' 

gem 'pg', '~> 0.18.4', group: [:development, :test, :production] 

group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

group :production do 
    gem 'passenger', '~> 5.0.8' 
    # gem 'passenger', '~> 5.1.4' 
end 

gem 'devise' 
gem 'devise_lastseenable' 
gem 'cancan' 
gem 'oauth-plugin', ">= 0.4.0.pre1" 

group :test, :development, :vcr do 
    gem 'rspec', '~> 1.1.3' 
    gem "rspec-rails", "~> 2.99" 
    gem 'factory_girl_rails' 
    gem 'timecop' 
    gem 'shoulda-matchers', '~> 2.8.0'#, git: 'git://github.com/thoughtbot/shoulda-matchers.git' 
    gem 'debugger' 
    gem 'sqlite3' 
    gem 'database_cleaner', '~> 0.7.1' 
    gem 'simplecov' 
end 

group :test do 
    gem 'resque_spec' 
end 

gem 'rabl', '~> 0.6.0' 
gem 'aasm' 
gem 'net-ssh', '=2.9.2' 
gem 'holidays', '~> 3.1.2'#, git: 'https://github.com/sincola/holidays.git' 
gem 'capistrano', require: false 
gem 'rvm-capistrano', require: false 
gem 'newrelic_rpm', '~> 3.18.1' 

gem 'i18n-inflector' 

gem 'savon', '~> 0.9.9' 
gem "typhoeus", "~> 0.3.3" 

gem "exception_notification", "~> 2.6.1" 
gem "strip_attributes", "~> 1.0" 

gem 'resque', "~> 1.20.0" 
gem 'resque_mailer', "~> 2.0.3" 
gem 'resque-scheduler', :require => 'resque_scheduler' 

gem 'kaminari' 
gem 'redis-rails' 
gem 'algorithms' 

gem 'geocoder' 
gem 'timezone', '~> 1.0' 

gem 'sugarcrm' 
gem 'bluepill' 
gem 'groupdate' 
gem 'active_median' 

gem 'awesome_nested_set' 

gem 'tzinfo', '~> 0.3.49' 

gem 'active_record_query_trace' # source: https://github.com/ruckus/active-record-query-trace 

gem 'slack-notifier', '~> 1.5', '>= 1.5.1' 
gem 'nokogiri', '~> 1.6.5' 

Was ich denke, ist: Es gibt verschiedene Edelsteine, die in meinem Gemfile.lock mit verschiedenen Versionen in alten Gemfile.lock

Bitte lesen Sie mein Problem wiederholt werden, und wenn Sie wissen, wie meine helfen, würde ich Ihnen unendlich danken .

Danke und Gruß,

+0

welchen Fehler Sie erhalten, wenn Sie ohne die alten Gemfile.lock – slal

Antwort

1

Wenn Sie versuchen Bündel installieren zu laufen, wie Your bundle is locked to xyz gem (version), but that version could not be found in any of the sources listed in your Gemfile Einige Edelstein geben Ihnen Fehler. Um dieses Problem zu beheben, müssen Sie die genaue Version = xxx in Ihrem Gemfile nicht mit ~> xxx aktualisieren.

Auch müssen Sie möglicherweise gesperrt Edelsteine ​​auch in Gemfile.lock, wegen der Abhängigkeit von anderen Edelsteinen aktualisieren.

+0

Dank zu installieren versuchen, kann ich alles installieren das Problem ist, die Spezifikation, ich kann es nicht mit Erfolg ausführen –

1

Die Gemfile ist weniger streng als die Gemfile.lock. So werden alle Edelsteine, die keine Einschränkung oder eine weiche Einschränkung haben (z. B. ~> 4 oder > 4.0), auf eine neue Version aktualisiert, die möglicherweise nicht die war, die verwendet wurde, als der Code ursprünglich entwickelt wurde Edelsteine ​​können ausfallen.

ich keine Zeit hatte eine komplette Überprüfung Ihres Versuch zu tun, um die Gemfile.lock zu einem Gemfile noch zu kopieren, aber ich habe gesehen, wie du einige Edelsteine ​​verwendet, ohne eine genaue Version in Ihrem Gemfile zu spezifizieren, und ich denke, dass Ihr Problem sein kann . Die Gemfile.lock geben immer die genaue Version an, also wenn Sie Ihre Gemfile.lock kopieren möchten, sollten Sie das gleiche tun.Zum Beispiel für slack-notifier gem verwenden Sie Version 1.5.1 aber Ihre Gemfile hat gem 'slack-notifier', '~> 1.5', '>= 1.5.1' wenn es gem 'slack-notifier', '1.5.1' sein sollte

+0

Dank Es war hilfreich –

+0

Da es nützlich war, können Sie bitte abstimmen oder die Antwort genehmigen? – Fede