Emacs包,全局安装,与本地安装elpa

时间:2016-03-31 12:11:01

标签: emacs elpa

我运行linux并使用不同的用户名来分割不同的活动。 使用elpa,有一些我想要安装的软件包,无论用户是谁,我都希望只为一个用户加载软件包。

组织模式就是我希望每个用户都加载的东西。 我可能想要的用户client1的C ++相关包,但不是ruby包。 我可能想要用户client2的ruby相关包,但不是C ++包。 可能有一个新的C ++编程包,我不想包含在认真的工作中但想要使用用户实验。

它曾经是你在网站lisp中放入的全局内容以及放在某处的本地内容〜但是这似乎与elpa无关。

1 个答案:

答案 0 :(得分:3)

package.el在package-directory-list路径中查找已安装的软件包(此外还有安装软件包的package-user-dir)。

所以我建议你安排一个" global"用户。然后更改所有其他用户以包含

(require 'package)
(push "/home/globaluser/.emacs.d/elpa" package-directory-list)

~/.emacs。这样,您要为所有用户安装的任何程序包都应由globaluser安装。

BTW,另一种攻击向量的方法是区分"已安装"和"启用"。即始终全局安装您的软件包,然后让每个用户调整其package-load-list以禁用特定软件包。

最后任何仅仅安装和启用的软件包(其中"启用"意味着加载软件包'自己的-autoloads.el)最终会干扰正常工作是一个错误(在我的书中) ,所以另一个解决方案是只在全局安装和启用所有包。如果C ++ - using-user被一些与ruby相关的包烦恼,那么就向ruby相关包的维护者提交bug报告。