No estoy 100% seguro de que realmente pueda verificar de forma confiable solo con require
o use-package
... Pero si está usando package.el para la funcionalidad del modo org, es posible que su configuración del modo org deba aplazarse hasta después de que se hayan inicializado sus paquetes. Puede hacer esto con un enlace que se ejecuta después de que Emacs se haya inicializado llamado " after-init-hook
".
Entonces...
Eso significa que en tu .emacs
necesitarás un gancho como:
(add-hook 'after-init-hook 'package-config)
Y en otro lugar:
(defun package-config ()
;;Your org-mode config goes here.
)
Después de eso, tiene acceso a la funcionalidad de comprobación y descarga de package.el ...
entonces, dado que también desea verificar la existencia del paquete, puede usar " (package-installed-p 'org-plus-contrib)
" e instalarlo con " (package-install package)
" si no está allí.
En total, el código probablemente se vería así:
(defun package-config ()
(unless (package-installed-p 'org-plus-contrib)
(package-refresh-contents)
(package-install 'org-plus-contrib)))
(add-hook 'after-init-hook 'package-config)
Con el resto de tu configuración detrás del (unless ...)
cuerpo.
De esa manera, obtiene su configuración, obtiene la comprobación de la instalación de su paquete y la descarga automáticamente para que pueda asumir con seguridad que cualquier cosa más allá de esa línea en la función puede usar las contribuciones cargadas. (Suponiendo que tiene una conexión de red si no existe).
(use-package org-plus-contrib :ensure t)
? Es cierto que estoy usando barril con paleta para la gestión de paquetes, pero coloca /home/kmicu/.emacs.d/.cask/24.4.1/elpa/org-plus-contrib-20150202 en mi camino y lo carga.