2013-10-12 6 views
10

Ich bin daran interessiert, die Emacs-Konfigurationen zu standardisieren, die einige von uns verwenden (~ 5 Personen).Gibt es eine Möglichkeit, ELPA-Pakete über die Befehlszeile zu installieren?

Gibt es eine Möglichkeit, ELPA-Pakete aus Lisp-Funktionen zu installieren, die in einem Skript enthalten sein können, wenn wir die gewünschten Pakete kennen? Alles, was ich finden kann, ist, wie man list-packages aufruft und einzelne Pakete grafisch installiert.

Antwort

7

Was Sie brauchen, ist package-install Funktion zu nutzen, wie:

(mapc 'package-install install-list) 

die install-list Variable eine Liste mit Namen von Paketen enthalten sollte, die Sie installieren möchten.

2

Zusätzlich können Sie die Liste der bereits installierten ELPA Pakete erhalten, indem

(defun eab/print-0 (body) 
    "Insert value of body in current-buffer." 
    (let ((print-length nil) 
     (eval-expression-print-length nil)) 
    (prin1 `,body (current-buffer)))) 

(defun eab/package-installed() 
    "Get the list of ELPA installed packages." 
    (mapcar (lambda (x) (car x)) package-alist)) 

(eab/print-0 (eab/package-installed)) 

und das gleiche für el-get-Pakete

(defun eab/el-get-installed() 
    "Get the list of el-get installed packages." 
    (mapcar 'intern 
     (el-get-list-package-names-with-status "installed"))) 

(eab/print-0 (eab/el-get-installed)) 
3

Sie auch einen Blick auf cask nehmen möchten. Es ermöglicht Ihnen, die Pakete, die Sie installieren möchten, in der Datei Cask mit einem DSL-System zu deklarieren, das here beschrieben wird. Dann gehen Sie von der Befehlszeile zum Verzeichnis und führen Sie cask. Es installiert alle Pakete, die in der Datei Cask deklariert sind.

In Ihrer Init-Datei müssen Sie die folgenden Zeilen hinzufügen, um die von cask installierten Pakete zu verwenden.

(require 'cask "~/.cask/cask.el") 
(cask-initialize) 
3

Eine andere Sache, die Sie tun können, machen Sie Ihr eigenes Paket, das von den anderen Paketen abhängt, die Sie installieren möchten. Dann installiere das Paket.

M-x package-install-from-file

oder Sie können Ihr eigenes Paket-Archiv mit dem Paket machen in, Sie elpakit, das zu tun verwenden können:

Pakete können mit aus der Datei installiert werden.

Sie können dies auch über die Befehlszeile:

emacs -e "(progn (package-initialize)(package-install 'packagename))"

vom Betriebssystem-Befehlszeile zu installieren, wenn Sie es wünschen.

Verwandte Themen