Wie kann ich sicherstellen, dass ich org-plus-contrib
mit require
oder aus dem Organisationsmodus-Repository herunterlade und verwende use-package
? Package.el
lädt das Paket herunter, kompiliert alles und sagt dann, dass es nicht geladen werden kann org-plus-contrib
. Dieser Thread auf der Mailingliste behandelt ein ähnliches, aber umgekehrtes Problem. Wenn ich jedoch platziere (use-package org ...
, wird use-package
zurückgegeben t
, aber dies geschieht unabhängig davon, ob org-plus-contrib
es installiert ist oder nicht.
org-mode
package
use-package
wdkrnls
quelle
quelle
(use-package org-plus-contrib :ensure t)
? Zugegeben, ich verwende ein Fass mit Palette für die Paketverwaltung, aber es platziert /home/kmicu/.emacs.d/.cask/24.4.1/elpa/org-plus-contrib-20150202 in meinem Pfad und lädt es.package-pinned-packages
Antworten:
Ich bin mir nicht hundertprozentig sicher, ob Sie wirklich nur mit
require
oderuse-package
... wirklich zuverlässig prüfen können. Wenn Sie jedoch package.el für die Funktionalität im Organisationsmodus verwenden, muss Ihre Konfiguration im Organisationsmodus möglicherweise verschoben werden, bis Ihre Pakete initialisiert wurden. Sie können dies mit einem Hook tun, der ausgeführt wird, nachdem Emacs mit dem Namen "after-init-hook
" initialisiert wurde .Damit...
Das heißt, in Ihrem
.emacs
brauchen Sie einen Haken wie:Und woanders:
Danach haben Sie Zugriff auf die Überprüfungs- und Download-Funktionen von package.el ...
Da Sie also auch die Existenz des Pakets überprüfen möchten, können Sie "
(package-installed-p 'org-plus-contrib)
" verwenden und es mit "(package-install package)
" installieren, wenn es nicht vorhanden ist.Insgesamt würde der Code wahrscheinlich ungefähr so aussehen:
Der Rest Ihrer Konfiguration ist hinter dem
(unless ...)
Körper her.Auf diese Weise erhalten Sie Ihre Konfiguration, Ihre Paketinstallation wird überprüft und automatisch heruntergeladen, sodass Sie davon ausgehen können, dass alles, was über diese Zeile in der Funktion hinausgeht, die geladenen Beiträge verwenden kann. (Angenommen, Sie haben eine Netzwerkverbindung, falls diese nicht vorhanden ist.)
quelle
Der richtige Weg, dies mit dem Use-Package zu tun, ist wie folgt:
Das erste Argument stellt sicher, dass es sich um die Datei org.el handelt, die bezogen wird. Das Argument: verify stellt sicher, dass Sie die Version mit allen Extras erhalten. Natürlich müssen Sie auch eine
("org" . "http://orgmode.org/elpa/")
Liste in Ihrem Paketarchiv haben.quelle
Ich führe eine Paketinstallation org-plus-contrib manuell durch, verwende dann aber die Verwendung der Paketorganisation org. Schließlich zeigt eine nachfolgende Mx-Organisationsversion an, dass die von org-plus-contrib bereitgestellte Organisation tatsächlich verwendet wird und alles in Ordnung ist.
quelle