Não tenho 100% de certeza de que você pode realmente verificar apenas com segurança require
ou use-package
... Mas se você estiver usando o package.el para a funcionalidade do modo organizacional, sua configuração do modo organizacional poderá precisar ser adiada até que os pacotes tenham sido inicializados. Você pode fazer isso com um gancho, depois de inicializado o Emacs, chamado " after-init-hook
".
Assim...
Isso significa .emacs
que você precisará de um gancho como:
(add-hook 'after-init-hook 'package-config)
E em outro lugar:
(defun package-config ()
;;Your org-mode config goes here.
)
Depois disso, você terá acesso à funcionalidade de verificação e download do package.el ...
portanto, como você também deseja verificar a existência do pacote, pode usar " (package-installed-p 'org-plus-contrib)
" e instalá-lo com " (package-install package)
" se não estiver lá.
Ao todo, o código provavelmente seria algo como:
(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)
Com o resto da sua configuração sendo posterior ao (unless ...)
corpo.
Dessa forma, você obtém sua configuração, a verificação da instalação do pacote e a baixa automaticamente, para poder assumir com segurança que qualquer coisa além dessa linha na função pode usar os comandos carregados. (Supondo que você tenha uma conexão de rede, caso ela não exista.)
(use-package org-plus-contrib :ensure t)
? Concedido que estou usando o barril com palete para o gerenciamento de pacotes, mas ele coloca /home/kmicu/.emacs.d/.cask/24.4.1/elpa/org-plus-contrib-20150202 no meu caminho e o carrega.