ELPA 是 Emacs 内建包管理器 package.el
的软件源,本镜像支持了常见的 ELPA。
ELPA | 镜像地址 |
---|---|
GNU ELPA | http://mirrors.wars.cat/elpa/gnu/ |
NonGNU ELPA | http://mirrors.wars.cat/elpa/nongnu/ |
GNU ELPA Devel | http://mirrors.wars.cat/elpa/gnu-devel/ |
NonGNU ELPA Devel | http://mirrors.wars.cat/elpa/nongnu-devel/ |
MELPA | http://mirrors.wars.cat/elpa/melpa/ |
MELPA Stable | http://mirrors.wars.cat/elpa/stable-melpa/ |
Org | http://mirrors.wars.cat/elpa/org/ |
根据你的需求,设置 package-archives ,比如用 GNU ELPA 和 MELPA:
(setq package-archives '(("gnu" . "http://mirrors.wars.cat/elpa/gnu/")
("nongnu" . "http://mirrors.wars.cat/elpa/nongnu/")
("melpa" . "http://mirrors.wars.cat/elpa/melpa/")))
(package-initialize) ;; You might already have this line
添加下面的代码到.spacemacs
的dotspacemacs/user-init()
(setq configuration-layer--elpa-archives
'(("melpa-cn" . "http://mirrors.wars.cat/elpa/melpa/")
("org-cn" . "http://mirrors.wars.cat/elpa/org/")
("gnu-cn" . "http://mirrors.wars.cat/elpa/gnu/")))
使用 configuration-layer-elpa-archives
代替原来的 configuration-layer--elpa-archives
( --
换成 -
)
(setq configuration-layer-elpa-archives
'(("melpa-cn" . "http://mirrors.wars.cat/elpa/melpa/")
("org-cn" . "http://mirrors.wars.cat/elpa/org/")
("gnu-cn" . "http://mirrors.wars.cat/elpa/gnu/")))
Cask 是一个 Emacs Lisp 的项目管理工具。这里还是以 GNU ELPA 和 MELPA 为例,在添加下面的代码到 Cask
(source "gnu" "http://mirrors.wars.cat/elpa/gnu/")
(source "melpa" "http://mirrors.wars.cat/elpa/melpa/")
(来自@xuchunyang)
假如不清楚需要用哪些 ELPA 的话
gnu
一般是必备的,其它的 elpa 中的包会依赖 gnu
中的包nongnu
建议启用,类似于 melpa
但是 Emacs 官方维护的melpa
滚动升级,收录了的包的数量最大stable-melpa
依据源码的 Tag (Git)升级,数量比 melpa
少,因为很多包作者根本不打 Tagorg
仅仅为了 org-plus-contrib
这一个包,org 重度用户使用gnu-devel
收录 gnu
中的包的开发中版本,一般不必启用(与 gnu
的关系类似于 melpa
与 stable-melpa
的关系)nongnu-devel
收录 nongnu
中的包的开发中版本,一般不必启用本文档参考了 http://elpa.emacs-china.org/ 提供的帮助。
各个仓库的URL末尾一定要加/
,否则会无法拉取,提示Failed to download melpa archive
。
事实上,末尾没有/
的话,emacs会去尝试取以下链接:
而正常的链接应该是
这个是emacs自己的bug。在 https://github.com/melpa/melpa/issues/2139 中有描述。