Answers:
正如Nsukami指出的那样,package.el确实支持系统范围的软件包。但是,正如您随后的问题所指出的那样,以系统范围的方式安装软件包并没有提供任何特殊帮助。
您可以使用以下方法之一:
(setq package-user-dir "/usr/share/emacs/site-lisp/elpa")
在您的根帐户的中~/.emacs
。这将使root用户的已安装软件包对所有用户可用(因为/usr/share/emacs/site-lisp/elpa
通常应以的默认值显示package-directory-list
)。
根据文档:
软件包目录列表的值为
(“ /usr/local/share/emacs/24.4/site-lisp/elpa”“ // usr / local / share / emacs / site-lisp / elpa”“ / usr / share / emacs / 24.4 / site-lisp / elpa“” / usr / share / emacs / site-lisp / elpa“)如果将此变量用作文件本地变量,则可能会有风险。
文档:包含Emacs Lisp软件包的其他目录的列表。每个目录名称应该是绝对的。
这些目录包含用于系统范围的软件包。相反,“ package-user-dir”包含供个人使用的软件包。
您可以自定义此变量。
在Emacs的24.1版本中引入了此变量,或更改了其默认值。
另一个文件:
除了package-user-dir之外,Emacs还在package-directory-list列出的目录中查找已安装的软件包。这些目录供系统管理员使Emacs软件包在系统范围内可用。Emacs本身从不在那里安装软件包。
因此,对于站点范围的安装,我建议您作为系统管理员在/ usr / local / share / emacs / site-lisp / elpa中手动安装软件包。或者您也可以按照@Stefan的建议进行操作