我使用Aquamacs,并使用ELPA将文件安装在~/.emacs.d/elpa中?
这个ELPA背后的魔力是什么?我的意思是,如果没有ELPA,我应该在特定目录中下载和安装包,并在.emacs中添加那两行代码。
(add-to-list 'load-path "PACKAGE_DIRECTORY")
(require 'PACKAGE)
但是,有了ELPA,我没有看到任何东西添加到.emacs或/Users/smcho/Library/Preferences/Aquamacs Emacs/{Preferences.el, customizations.el}。这怎么可能?
1. Aquamacs读取~/Preference/Aquamacs Emacs/Preference,其中有"(add-to-list 'load-path kitfiles-dir)(require 'init)",它会读取启动套件。
2. 启动套件的init.el有"(require 'package)(package-initialize)"
3. ~/Library/Preferences/Aquamacs Emacs/aquamacs-emacs-starter-kit/vendor有package.el
我猜初始化文件没有改变,但是软件包管理器会自动读取~/.emacs.d/elpd/*进行初始化,因为我在每个文件中都看到了***-autoloads.el。
这个ELPA背后的魔力是什么?我的意思是,如果没有ELPA,我应该在特定目录中下载和安装包,并在.emacs中添加那两行代码。
(add-to-list 'load-path "PACKAGE_DIRECTORY")
(require 'PACKAGE)
但是,有了ELPA,我没有看到任何东西添加到.emacs或/Users/smcho/Library/Preferences/Aquamacs Emacs/{Preferences.el, customizations.el}。这怎么可能?
添加
这是我在Aquamacs中发现的。1. Aquamacs读取~/Preference/Aquamacs Emacs/Preference,其中有"(add-to-list 'load-path kitfiles-dir)(require 'init)",它会读取启动套件。
2. 启动套件的init.el有"(require 'package)(package-initialize)"
3. ~/Library/Preferences/Aquamacs Emacs/aquamacs-emacs-starter-kit/vendor有package.el
我猜初始化文件没有改变,但是软件包管理器会自动读取~/.emacs.d/elpd/*进行初始化,因为我在每个文件中都看到了***-autoloads.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)))