ELPA源帮助文档
ELPA 是 Emacs 内建包管理器 package.el 的软件源,本镜像支持了常见的 ELPA。
根据你的需求,设置 package-archives ,比如用 GNU ELPA 和 MELPA:
(setq package-archives '(("gnu" . "http://mirrors.cloud.tencent.com/elpa/gnu/") ("melpa" . "http://mirrors.cloud.tencent.com/elpa/melpa/"))) (package-initialize) ;; You might already have this line
Spacemacs 用户
master 分支
添加下面的代码到.spacemacs的dotspacemacs/user-init()
(setq configuration-layer--elpa-archives '(("melpa-cn" . "http://mirrors.cloud.tencent.com/elpa/melpa/") ("org-cn" . "http://mirrors.cloud.tencent.com/elpa/org/") ("gnu-cn" . "http://mirrors.cloud.tencent.com/elpa/gnu/")))
develop 分支
使用 configuration-layer-elpa-archives 代替原来的 configuration-layer–elpa-archives ( – 换成 - )
(setq configuration-layer-elpa-archives '(("melpa-cn" . "http://mirrors.cloud.tencent.com/elpa/melpa/") ("org-cn" . "http://mirrors.cloud.tencent.com/elpa/org/") ("gnu-cn" . "http://mirrors.cloud.tencent.com/elpa/gnu/")))
Cask 用户
Cask 是一个 Emacs Lisp 的项目管理工具。这里还是以 GNU ELPA 和 MELPA 为例,在添加下面的代码到 Cask (source “gnu” “http://mirrors.cloud.tencent.com/elpa/gnu/”) (source “melpa” “http://mirrors.cloud.tencent.com/elpa/melpa/”)
关于 ELPA 的选择
假如不清楚需要用哪些 ELPA 的话
- gnu 一般是必备的,其它的 elpa 中的包会依赖 gnu 中的包
- melpa 滚动升级,收录了的包的数量最大
- melpa-stable 依据源码的 Tag (Git)升级,数量比 melpa 少,因为很多包作者根本不打 Tag
- org 仅仅为了 org-plus-contrib 这一个包,org 重度用户使用
- marmalade 似乎已经不维护了,个人不推荐
URL Bug
各个仓库的URL末尾一定要加/,否则会无法拉取,提示Failed to download melpa archive。
事实上,末尾没有/的话,emacs会去尝试取以下链接:
http://mirrors.cloud.tencent.com/elpa/melpaarchive-contents 而正常的链接应该是
http://mirrors.cloud.tencent.com/elpa/melpa/archive-contents 这个是emacs自己的bug。在 melpa/melpa#2139 中有描述。