سؤال
أستخدم Aquamacs ، وأستخدم ELPA التي تقوم بتثبيت الملفات في ~/.emacs.d/elpa؟
ما هو السحر وراء هذا ELPA؟ أعني ، بدون ELPA ، يجب علي تنزيل وتثبيت الحزم في دليل معين ، وإضافة هذين الخطين في .emacs.
(إضافة إلى قائمة "Package_Directory")
(تتطلب حزمة)
ولكن ، مع ELPA ، لا أرى أي شيء يضاف إلى .emacs أو/المستخدمين/smcho/library/تفضيلات/أكواماك emacs/{تفضيلات. كيف يكون هذا ممكنا؟
وأضاف
هذا ما وجدته مع أكواماك.
- يقرأ Aquamacs ~/تفضيل/Aquamacs emacs/التفضيل ، ويحتوي على "(إضافة إلى قائمة" kitfiles-path-path-path-dir) (تتطلب "init)" ، والتي تقرأ مجموعة البدء.
- يحتوي init.el of Start Kit على "(متطلبات" حزمة) (حزمة initialize) "
- ~/Library/تفضيلات/Aquamacs emacs/aquamacs-emacs-starter-kit/البائع لديه الحزمة.
أعتقد أنه لم يتم تغيير ملفات التهيئة ، لكن مدير الحزمة يقرأ ~/.emacs.d/elpd/*للتهيئة تلقائيًا ، كما أرى ***-adoloads.el في كل منهما.
تمت إضافة 2
مع Emacs 24 ، يبدو أن الحزمة مبنية مسبقًا. أحتاج فقط إلى الحصول على هذه الخطوط في .emacs أو .emacs.d/init.el للحصول على عمل ELPA. تلميحات من هذا الموقع.
(require 'package)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)
(when (not package-archive-contents)
(package-refresh-contents))
(defvar my-packages '(clojure-mode
nrepl))
(dolist (p my-packages)
(when (not (package-installed-p p))
(package-install p)))
المحلول
(package-initialize)
سوف يمر عبر جميع الحزم المثبتة (في ~/.emacs.d/elpa/
أو مشابه ، اعتمادًا على التكوين) ، وأضفها إلى مسار التحميل. واحد قمت بتشغيله ، ألق نظرة على load-path
(الفصلالخامسload-path
) ، سوف يكون كل تلك الدلائل الفرعية إضافة. لذلك في هذه المرحلة ، سيستخدم تحميل الملفات الآليات العادية.
نصائح أخرى
لديك (require 'package) (package-initialize)
إقران في مكان ما في ملفات التهيئة الخاصة بك. الحزمة .ل يفعل السحر :)