Come impostare un repository di pacchetti privato?


11

Ho scritto diversi pacchetti per GNU Emacs, ma sono inutili al di fuori dell'ambiente della mia azienda. Voglio essere in grado di condividere i pacchetti con altri sviluppatori della mia azienda. Voglio anche che i pacchetti siano facilmente individuabili tramite package-list-packages.

Penso che il repository privato risolverà i miei problemi, ma non riesco a trovare alcun manuale sulla configurazione degli archivi personali. Per quanto ho capito, il manuale di informazioni di Elisp suggerisce semplici directory e package-upload-file, ma non credo che funzioni bene con gli aggiornamenti dei pacchetti simultanei. Ci sono altre opzioni relativamente facili da configurare?


1
Un percorso semplice sarebbe quello di creare repository git privati ​​per tutte le tue librerie e di istruire gli altri a usare quelpa per l'installazione. Non ci sarà un bel menu attorno ad esso, ma la rilevabilità è facile come sfogliare il profilo o la pagina dell'organizzazione sugli host git.
Jordon Biondo,

1
github.com/redguardtoo/elpa-mirror forse questo può aiutare? Non ho davvero guardato dentro.
wvxvw,

È davvero una domanda di Emacs?
Drew

Risposte:


7

La fonte di Melpa è disponibile , quindi puoi semplicemente clonarla ed eseguirla su un server configurato per essere accessibile solo dall'interno del tuo ufficio (e non da tutta Internet). I tuoi sviluppatori dovrebbero essere in grado di accedere al server e dovrebbero aggiungere l'archivio package-archivesnello stesso modo in cui uno fa Melpa, Marmalade o altri. I pacchetti verrebbero visualizzati package-list-packagese sarebbero in grado di essere installati e aggiornati come qualsiasi altro.


In che modo costituisce un repository privato ? Non sembra rispondere alla domanda.
Drew

3
@Drew Supponevo che il server che Roman-Kashitsyn avrebbe usato fosse all'interno del firewall dell'azienda, non accessibile da Internet. Ho aggiornato la mia risposta per chiarirlo.
zck,

1
Una cosa che non mi piace di Melpa è che melpa-the-ricette è aggrovigliata con melpa-the-application nello stesso repository. Quindi potrebbe essere doloroso unire correzioni di bug e nuove funzionalità nel mio fork privato. Ma melpa è probabilmente l'opzione migliore da provare.
roman-kashitsyn,

5

Mi dispiace rispondere in ritardo. Non l'ho visto fino ad ora, ma ho risposto a una domanda simile Come posso configurare un server Elpa? ieri. Dai un'occhiata prima lì.

In breve, è davvero molto semplice impostare il proprio archivio di pacchetti locale con la package-xfunzione di Emacs . La mia soluzione sopra è dieci righe di codice lisp. La configurazione del proprio sito MELPA è molto impegnativa a confronto. E chiedere ai tuoi utenti di configurare e utilizzare Quelpa è chiedere molto a loro. In questo modo, usano semplicemente il modo standard di Emacs ... fintanto che fai il lavoro di configurazione di un server web per esporre loro l'archivio dei pacchetti.


0

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

Crea un repository di pacchetti Emacs locale. Solo i pacchetti installati saranno inclusi nel repository.

Quindi nessuna rete richiesta e la dimensione del repository sarà molto più piccola (2 M byte dopo zippati per circa 160 pacchetti).

Inoltre, dal momento che stai confezionando solo pacchetti locali, sei sicuro al 100% che questi pacchetti sono stabili su una nuova macchina perché stai usando esattamente la stessa versione di pacchetti su computer diversi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.