我使用aquamacs,然后使用ELPA在〜/.emacs.d/elpa中安装文件?

这个Elpa背后的魔力是什么?我的意思是,如果没有ELPA,我应该在特定目录中下载并安装软件包,然后在.emacs中添加这两行。

(添加到列表的'load-path“ package_directory”)
(需要'包)

但是,有了ELPA,我看不到任何添加到.emacs或/users/smcho/library/preverences/aquamacs emacs/{preverences.el,customizations.el}的内容。这怎么可能?

添加

这就是我在Aquamacs中发现的。

  1. aquamacs读取〜/preverperion/aquamacs emacs/preference,它具有“(添加到列表的'load-path kitfiles-dir)(需要'init)”,读取启动套件。
  2. init.el of Start套件具有“(require'Package)(包裹initialize)”
  3. 〜/library/preverences/aquamacs emacs/aquamacs-emacs-starter-kit/供应商包含package.el

我猜初始化文件没有更改,但是软件包管理器读取〜/.emacs.d/elpd/*以自动初始化,如我所见,每个它都在其中中的每一个。

添加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 (chvload-path),它将添加所有这些子目录。因此,在这一点上,文件加载将使用普通机制。

其他提示

你有一个 (require 'package) (package-initialize) 在初始化文件中对某个地方配对。 package.el做魔术:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top