40 Stimmen

Warum sollte ich mich um die Gemset-Funktion von RVM kümmern, wenn ich Bundler verwende?

Ich begreife es einfach nicht. Ich dachte, Bündler wurde entwickelt, um Versionskonflikte zwischen Edelsteinen zu lösen. So dass ich nur noch require "bundler/setup" und alles ist gut, weil ich weiß, dass Bündler lädt die korrekten Versionen aller meiner Edelsteine und deren Abhängigkeiten. Jetzt, RVM ist großartig für die Verwaltung mehrerer Rubine, ich weiß, aber warum sollte ich mich für die Gemset-Funktion interessieren? Übersehe ich hier etwas? Kann es meine Entwicklung noch einfacher machen? Vielleicht kann mir jemand von euch ein paar Tipps geben, wie ich das perfekte RVM + Bündler Arbeitsablauf sowohl für die Entwicklung als auch für die Produktion.

Ich weiß auch nicht, wann RVM beginnt, zu einem anderen Ruby zu wechseln. Ich weiß, dass ich eine .rvmrc Datei in meinem Projekt, aber muss ich die cd in dieses Verzeichnis, damit die Umstellung erfolgt?

Außerdem verwende ich normalerweise Passagier für die Entwicklung, da sie dank der Passenger.prefpane , Integration in Mac OS ist großartig. Kann ich das immer noch mit RVM machen oder gibt es einen besseren Weg, das zu tun? Ist Passagier erkennen .rvmrc Dateien und wechseln Sie zum richtigen Gemset?

24voto

Jörg W Mittag Punkte 349574

Warum sollte ich mich um die Gemset-Funktion von RVM kümmern, wenn ich Bundler verwende?

Das sollten Sie nicht.

Nun, wenn Sie wollen Sie puede Ich sollte also besser sagen: "Das brauchen Sie nicht."

Ich habe mir gerade einen Podcast-Interview mit einem der Mitglieder des Bundler-Kernteams der im Grunde sagte, dass er, seit er Bundler benutzt, keine Gemsets mehr verwendet, weil sie überflüssig sind.

In diesem Blogbeitrag wird dasselbe Thema anhand einiger Beispiele erörtert.

6voto

anshul Punkte 5897

Wenn ich mich mit Legacy-Code beschäftige oder andere Ruby-Projekte, die nicht auf Rails basieren und aus welchen Gründen auch immer nicht die Bundle-Route gegangen sind, forke, sind Gemsets eine großartige Sache. Ich finde Gemsets auch von unschätzbarem Wert bei der Entwicklung von Gems. Es ist schön, mehrere Testumgebungen zu haben, zwischen denen man hin- und herschalten kann, um den frisch gebauten Edelstein zu testen.

Der Passagier liest nicht die .rvmrc nach meinem besten Wissen und Gewissen. Soweit ich weiß, kann man nicht verschiedene Projekte in passenger unter verschiedenen Rubies laufen lassen. Mein Standard-Rails-Setup hat nur bundler y rake im globalen Edelsteinset. Ich lasse Bundler von dort aus übernehmen und verwalte den Rest der Edelsteine projektweise, so wie Sie es beschreiben. Funktioniert ziemlich gut.

1voto

brs Punkte 19

Sie sollten auf jeden Fall Gemsets verwenden, wenn Sie davon ausgehen, dass Sie jemals Ihre Bundler-Version ändern müssen. Und Sie können gemsets verwenden, um Edelsteine zu verwalten, die nicht speziell für Ihre Rails-Anwendung wichtig sind (wirble usw.).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X