Bündler für Hilfsentwicklungssteine ​​umgehen

8

Im Gemfile meines Rails-Projekts habe ich angefangen, Hilfs-Edelsteine ​​wie "ruby-debug19", "perfmtools.rb" oder "irbtools" zu haben. All diese Dinge haben nichts mit dem Projekt zu tun, sondern sind Teil meiner lokalen Entwicklungsumgebung. Aber da ich Bündler verwende, kann ich diese Edelsteine ​​nicht laden (obwohl sie systemweit installiert sind), wenn ich sie nicht zur Gemdatei hinzufüge. Aus meiner Sicht ist das ein bisschen ein Code-Geruch.

Ich würde zum Beispiel require 'irbtools' in rails console hinzufügen können, ohne "irbtools" zu meiner Gemfile hinzuzufügen.

Gibt es eine Möglichkeit, Hilfsgemme aus dem Gemfile zu entfernen und trotzdem in der Lage zu sein, sie zum Debuggen, Profilieren usw. zu laden, wenn ich sie brauche?

    
Jo Liss 23.04.2011, 14:26
quelle

4 Antworten

3

Tatsächlich können Sie in Ihrem group like:

ein Gemfile erstellen %Vor%

Und dann bundle install --without auxiliary , wenn Sie irbtools nicht verwenden möchten. Warum denken Sie, dass das Hinzufügen zu Gemfile ein Code-Geruch ist? Und wenn es möglich ist, dies zu tun, ohne Edelsteine ​​zum Gemfile hinzuzufügen, wird es viel mehr Code-Geruch sein, denke ich.

    
Vasiliy Ermolovich 23.04.2011, 15:16
quelle
3

Dank diesem Beitrag habe ich eine tolle Sache Lösung.

  1. Fügen Sie diese Zeile am Ende Ihrer Gemdatei hinzu:

    %Vor%
  2. Erstellen Sie eine Datei namens Gemfile.local.

  3. Fügen Sie Ihre Entwicklungs-Edelsteine ​​zu Gemfile local hinzu. Zum Beispiel:

    %Vor%
  4. Fügen Sie Gemfile.local zu .gitignore hinzu.

Jetzt können Sie Ihre Hilfsentwicklungssteine ​​hinzufügen, ohne die Gemdatei für andere Personen im Team zu ändern. Sehr cool.

    
phatmann 19.12.2012 19:07
quelle
2

Ich habe den unten stehenden Code in eine Datei im Stammverzeichnis meiner App eingefügt, sodass das Laden von irb einfach ist.

Wenn Sie es in so etwas wie einem Rails-Server haben wollen, müssen Sie wahrscheinlich die load -Anweisung zu environments/development.rb usw. hinzufügen. Das schafft immer noch Probleme, wenn Sie es versehentlich einchecken, aber es ist weniger ärgerlich, als es hinzufügen zu müssen zum Gemfile und dazu, dass sich auch dein Gemfile.lock ändert.

%Vor%     
Kelvin 24.02.2012 16:47
quelle
0

Ich bin mir nicht sicher, ob das für dich funktionieren würde. Es hängt davon ab, ob Sie RVM verwenden oder nicht. Wenn dies der Fall ist, können Sie diese zusätzlichen Edelsteine ​​im @global gemset installieren, das automatisch für jeden Ruby-Interpreter erstellt wird. Die Edelsteine ​​im @global -Grundsatz stehen standardmäßig allen projektspezifischen Edelsteingruppen zur Verfügung. Auf diese Weise müssen Sie Ihre Gemfiles nicht überladen.

    
Andrea Singh 19.05.2011 09:04
quelle