【发布时间】:2023-04-01 00:23:01
【问题描述】:
我对标准化我们中的一些人(约 5 人)使用的 emacs 配置很感兴趣。
如果我们知道我们想要的包集,有没有办法从可以包含在脚本中的 lisp 函数安装 ELPA 包?我能找到的只是如何调用list-packages 并以图形方式安装各个包。
【问题讨论】:
我对标准化我们中的一些人(约 5 人)使用的 emacs 配置很感兴趣。
如果我们知道我们想要的包集,有没有办法从可以包含在脚本中的 lisp 函数安装 ELPA 包?我能找到的只是如何调用list-packages 并以图形方式安装各个包。
【问题讨论】:
你需要的是使用package-install函数,比如:
(mapc 'package-install install-list)
install-list 变量应包含您要安装的软件包的名称列表。
【讨论】:
您可以做的另一件事是制作自己的软件包,该软件包取决于您要安装的其他软件包。然后安装那个包。
可以从以下文件安装软件包:
M-x package-install-from-file
或者您可以使用包含的包制作自己的包存档,您可以使用 elpakit 来做到这一点。
您也可以从命令行执行此操作:
emacs -e "(progn (package-initialize)(package-install 'packagename))"
如果您愿意,可以从操作系统命令行安装。
【讨论】:
此外,您还可以通过
获取已安装的 ELPA 软件包列表(defun eab/print-0 (body)
"Insert value of body in current-buffer."
(let ((print-length nil)
(eval-expression-print-length nil))
(prin1 `,body (current-buffer))))
(defun eab/package-installed ()
"Get the list of ELPA installed packages."
(mapcar (lambda (x) (car x)) package-alist))
(eab/print-0 (eab/package-installed))
el-get 包也是如此
(defun eab/el-get-installed ()
"Get the list of el-get installed packages."
(mapcar 'intern
(el-get-list-package-names-with-status "installed")))
(eab/print-0 (eab/el-get-installed))
【讨论】: