Wie richte ich ein privates Paket-Repository ein?

11

Ich habe mehrere Pakete für GNU Emacs geschrieben, aber sie sind außerhalb der Umgebung meines Unternehmens nutzlos. Ich möchte die Pakete mit anderen Entwicklern meines Unternehmens teilen können. Ich möchte auch, dass die Pakete über leicht auffindbar sind package-list-packages.

Ich denke, dass das private Repository meine Probleme lösen wird, aber ich kann kein Handbuch zur Einrichtung persönlicher Archive finden. Soweit ich verstanden habe, schlägt das Elisp-Info-Handbuch einfache Verzeichnisse vor und package-upload-file, aber ich denke nicht, dass es bei gleichzeitigen Paketaktualisierungen gut funktioniert. Gibt es andere Optionen, die relativ einfach einzurichten sind?

Roman-Kashitsyn
quelle
1
Eine einfache Möglichkeit wäre, private Git-Repos für alle Ihre Bibliotheken zu erstellen und andere anzuweisen, Quelpa für die Installation zu verwenden. Es wird kein schönes Menü geben, aber die Auffindbarkeit ist so einfach wie das Durchsuchen des Profils oder der Organisationsseite auf den Git-Hosts.
Jordon Biondo
1
github.com/redguardtoo/elpa-mirror Vielleicht kann das helfen? Ich habe nicht wirklich hineingeschaut.
wvxvw
Ist das wirklich eine Emacs-Frage?
Drew

Antworten:

7

Die Quelle von Melpa ist verfügbar , sodass Sie sie einfach klonen und auf einem Server ausführen können, der so konfiguriert ist, dass nur von Ihrem Büro aus (und nicht vom gesamten Internet) aus darauf zugegriffen werden kann. Ihre Entwickler müssten auf den Server zugreifen können und das Archiv auf package-archivesdie gleiche Weise wie Melpa, Marmalade oder andere hinzufügen . Die Pakete würden in package-list-packagesangezeigt und könnten wie alle anderen installiert und aktualisiert werden.

zck
quelle
Wie macht das ein privates Repository aus? Scheint die Frage nicht zu beantworten.
Drew
3
@Drew Ich ging davon aus, dass sich der Server, den Roman-Kashitsyn verwenden würde, innerhalb der Firewall des Unternehmens befindet und nicht über das Internet zugänglich ist. Ich habe meine Antwort aktualisiert, um dies zu verdeutlichen.
Zck
1
Eine Sache, die ich an Melpa nicht mag, ist, dass Melpa-the-Rezepte mit Melpa-the-Application im selben Repository verwickelt sind. Es könnte also schwierig sein, Bugfixes und neue Funktionen in meiner privaten Gabel zusammenzuführen. Aber Melpa ist wahrscheinlich die beste Option, um es zu versuchen.
Roman-Kashitsyn
5

Entschuldigung, dass ich zu spät antworte. Ich habe das bis jetzt nicht gesehen, aber ich habe eine ähnliche Frage beantwortet. Wie richte ich einen Elpa-Server ein? gestern. Schauen Sie zuerst dort hin.

Kurz gesagt, es ist wirklich sehr einfach, mit der Emacs- package-xFunktion ein eigenes lokales Paketarchiv einzurichten . Meine obige Lösung besteht aus zehn Zeilen Lisp-Code. Das Einrichten einer eigenen MELPA-Site ist im Vergleich viel Arbeit. Wenn Sie Ihre Benutzer bitten, Quelpa einzurichten und zu verwenden, werden sie viel gefragt. Auf diese Weise verwenden sie nur die Standardmethode von Emacs ... solange Sie einen Webserver einrichten, um Ihr Paketarchiv für sie verfügbar zu machen.

Rodney Preis
quelle
0

https://github.com/redguardtoo/elpa-mirror

Erstellen Sie ein lokales Emacs-Paket-Repository. Nur installierte Pakete werden in das Repository aufgenommen.

Es ist also kein Netzwerk erforderlich und Ihre Repository-Größe ist viel kleiner (2 MB nach dem Komprimieren für ca. 160 Pakete).

Da Sie nur lokale Pakete verpacken, sind Sie außerdem zu 100% sicher, dass diese Pakete auf einem neuen Computer stabil sind, da Sie auf verschiedenen Computern genau dieselbe Version von Paketen verwenden.

Chen Bin
quelle