Wenn ich ein neues Rails 4-Projekt erzeuge, sieht das Gemfile so aus:
%Vor% Warum sperrt Rails die Versionen für pg
, jquery-rails
und turbolinks
nicht?
Ich denke dieser Kommentar von einem GitHub-Problem über rails_app_composer könnte Teil der Begründung sein das:
Wenn die gemfiles die absolute Versionsbeschränkung (den Gleichheitsoperator) verwenden sollten, könnte jeder, der eine Beispielanwendung geklont oder generiert hat, sicher sein, dass die Anwendung immer als erstellt ausgeführt wird. Aber wir würden nicht so schnell über Probleme lernen. Mit den optimistischen Versionsbeschränkungen erfahren wir bald nach der Veröffentlichung von inkompatiblen Edelsteinversionen Probleme mit Edelsteinen.
Zum Beispiel hat Devise Version 2.2.0 kürzlich die Standardpasswortlänge geändert. Alle Beispielanwendungen waren fehlerhaft, weil die Beispielpasswörter in Datenbankinitialisierungsdateien und -tests zu kurz waren. Innerhalb eines Tages (oder zwei) nach der Veröffentlichung von Devise 2.2.0 war mir das Problem bekannt, da mehrere GitHub-Probleme geöffnet wurden.
Überlegen Sie sich jetzt, ob ich die Gemfiles auf Devise 2.1.0 mit Absolute Version Constraint oder Devise 2.1.x mit Pessimistic Version Constraint gesperrt habe. Irgendwann würde ich die Fehlerberichte erhalten, aber nur, wenn jemand neugierig wurde und beschloss, neuere Versionen von Devise auszuprobieren. Die Fehlerberichte würden ankommen, aber langsam und nicht wie ein Schwarm. Wenn ich einen isolierten Fehlerbericht sehe, ist es schwierig zu wissen, ob es sich um ein idiosynkratisches Problem oder einen Anwendungsfehler handelt. Wenn ich einen Schwarm verwandter Probleme sehe, ist es leicht zu erraten, dass etwas nicht stimmt.
Dies ist insbesondere im Fall von Turbolinks
sinnvoll, da es ein neues Feature ist. Der Autor fährt jedoch fort zu sagen , dass er am Ende "Versionsnummern aus der Gemfile, "machen Sie das, was Sie wollen.
Tags und Links ruby ruby-on-rails gem bundler ruby-on-rails-4