Sie können sich nicht auf Bundler oder Rubygems verlassen, um dies für Sie zu verwalten. Alles, was es tut, ist, eine ausführbare Datei, die Sie in Ihrer Edelstein-Spezifikation angegeben haben, in das Verzeichnis bin/
zu kopieren.
Das erste Problem, das Sie haben werden, ist, dass die ausführbare Datei von der Reihenfolge abhängig sein kann, in der die Edelsteine installiert wurden, die Sie nicht garantieren können.
Ein weiteres Problem, das Sie haben, ist, dass Sie Code bei der Installation von Gem nicht ausführen können, so dass Sie keinen Code ausführen können, der dieses Setup für Leute automatisieren würde, die Ihr Juwel installieren.
Ich glaube, Ihr Juwel sollte eine nicht konfliktbehaftete ausführbare Datei bereitstellen. Sie können dann post install instructions in Ihrer Edelstein-Spezifikation angeben, die einem Benutzer angezeigt wird, der den Edelstein installiert, in der README, in einem Blog-Eintrag usw. Sie können dem Benutzer mitteilen, dass er einen Alias erstellen muss, der auf Ihre ausführbare Datei verweist. In allen Shells, die ich kenne, werden Aliase vor ausführbaren Dateisystemen ausgeführt.
Für die Zeiten, wenn Menschen Ihren Alias umgehen und die ursprüngliche ausführbare Datei ausführen möchten, können Sie den Leuten sagen, dass sie dem Befehl entkommen sollen, z. \original-gem
. Das umgeht die Alias- und Funktions-Suche in den meisten Shells und erlaubt es Benutzern, Ihre super-geniale Version als Standard zu haben (durch den Alias) und eine Möglichkeit, einfach auf das Original zuzugreifen.