Comment puis-je m'assurer que je télécharge et utilise à org-plus-contrib
partir du référentiel en mode organisation en utilisant require
ou use-package
? Package.el
télécharge le package, compile tout et dit ensuite qu'il ne peut pas se charger org-plus-contrib
. Ce fil sur la liste de diffusion traite d'un problème similaire, mais inversé. Cependant, si je place (use-package org ...
, use-package
retourne t
, mais le fait, qu'il org-plus-contrib
soit installé ou non.
org-mode
package
use-package
wdkrnls
la source
la source
(use-package org-plus-contrib :ensure t)
? Certes, j'utilise cask avec palette pour la gestion des paquets, mais il place /home/kmicu/.emacs.d/.cask/24.4.1/elpa/org-plus-contrib-20150202 sur mon chemin et le charge.package-pinned-packages
Réponses:
Je ne suis pas sûr à 100% que vous pouvez vraiment vérifier de manière fiable avec seulement
require
ouuse-package
... Mais si vous utilisez package.el pour la fonctionnalité de mode organisationnel, votre configuration en mode organisationnel devra peut-être être différée jusqu'à ce que vos packages aient été initialisés. Vous pouvez le faire avec un hook les courses après qu'Emacs a initialisé appelé "after-init-hook
".Donc...
Cela signifie que dans votre
.emacs
, vous aurez besoin d'un crochet comme:Et ailleurs:
Après cela, vous avez accès à la fonctionnalité de vérification et de téléchargement de package.el ...
ainsi, puisque vous voulez également vérifier l'existence du paquet, vous pouvez utiliser "
(package-installed-p 'org-plus-contrib)
" et l'installer avec "(package-install package)
" s'il n'est pas là.Au total, le code ressemblerait probablement à quelque chose comme:
Le reste de votre configuration étant après le
(unless ...)
corps.De cette façon, vous obtenez votre configuration, vous obtenez la vérification de l'installation de votre package et vous la téléchargez automatiquement afin que vous puissiez supposer en toute sécurité que tout ce qui dépasse cette ligne dans la fonction peut utiliser les contributions chargées. (En supposant que vous disposez d'une connexion réseau si elle n'existe pas.)
la source
La façon correcte de le faire avec use-package est la suivante:
Le premier argument garantit qu'il s'agit du fichier org.el en cours de sourcing. L'argument: sure garantit que vous obtenez la version avec tous les extras. Bien sûr, vous devez également avoir
("org" . "http://orgmode.org/elpa/")
dans votre liste des archives de paquets.la source
Je fais manuellement un package-install org-plus-contrib, mais ensuite j'utilise-package org. Enfin, une version ultérieure de Mx org indique que l'organisation fournie par org-plus-contrib est effectivement utilisée et que tout va bien.
la source