Jon aus der Vergangenheit! Wie Sie wissen, habe ich die Antworten auf (fast) alle Ihre Probleme.
In diesem Fall Sie beschreiben, tatsächlich zwei Probleme auf: (a) Sie nicht require 'pry'
kann, wenn Pry nicht in der Gemfile ist, (b) Sie können nicht Pry verwenden, wenn Sie nicht require
es tun.
Was Bündler tut, als Conrad Irwin writes:
Bündler ein geiles Juwel ist, dass Sie ein gutes Maß an Vertrauen gibt, dass „wenn es in der Entwicklung funktioniert, ist es in der Produktion arbeitet“. Es kann dies tun, indem es über Edelsteinabhängigkeiten bösartig ist: Wenn es nicht in der Gemfile ist, wird es nicht benötigt. Es stellt auch sicher, dass alle Entwicklungsumgebung identisch ist, nicht mehr "es funktioniert auf meiner Maschine" schneiden es als Entschuldigung.
Es gibt Umstände, unter denen diese dogmatische Verpflichtung zur Pflicht in die Quere kommen kann. Insbesondere alle guten Entwickler haben ihre Entwicklungsumgebung sehr persönlich gestaltet. Natürlich ist es nicht wichtig, dass meine lokalen Tools in der Produktion funktionieren, und es ist positiv für die Produktivität, wenn jeder gezwungen ist, eine identische Entwicklungsumgebung zu haben.
dabei all die guten Dinge Bündler für uns tut Ruby-Entwickler, kommt es durch Design mit einem Vorbehalt: „Was außerhalb des Bündels ist/Gemfile (zB Systemedelsteine) existiert nicht mehr."Wie es das tut ist durch den require
Prozess neu definiert und ändert Ihren PATH
, so dass er sieht nur das, was in dem Bündel ist.
Das heißt, Sie Pry überhaupt nicht ohne die Gemfile verschmutzen können, sagen Sie, nicht wahr? Nicht Conrad Irwin ist der schlaue kleine Keks, der er ist, kam mit einer Lösung und machte Pry Debundle, ein Juwel, das vorübergehend die Patches Bundler auf unsere benötigt rückgängig gemacht
Also alles, was Sie tun müssen, ist nur require 'pry-debundle'
dann Oh ja, Debundle ist wahrscheinlich nicht in der Gemfile
Der Affe Fix ist die Quelle vonzu kopierenzu ~/debundle.rb
, und dann load
das. (Für den Moment brauchen Sie Pry, um diese Quelldatei zu starten, aber Sie können nur die debundle!
Methode verwenden, um dorthin zu gelangen, Pry zu benötigen und herumzuschnüffeln. Ein wenig monkeypatching ist notwendig, aber ich arbeite an einer PR .)
Ich habe das gleiche Problem auch. Eine Technik, die ich in Erwägung zog (aber nicht implementierte), war die Verwendung von Git-Hooks, um während des Commits nach dem Auftreten von 'py' in meinem Code zu suchen. Dann fügen Sie in Rails 'Gemfile der Entwicklungsgruppe einen Hebel hinzu. in Edelsteinen fügen Sie der Gemfile (nicht Gemspec) hinzu. –
Ihre Komponententests sollten auch fehlschlagen, wenn Sie irgendwo irgendwo stecken. –