出于某种原因(见下文),我想将package-user-dir
(ELPA)设置为 site-lisp 目录。
应该可以从标准exec-directory
变量中推断出 site-lisp-directory:
(setq site-lisp-directory (concat exec-directory "../site-lisp")
至少使用来自 GNU 的预编译 Emacs 版本是可行的(该目录已经存在)。最终创建目录:
(unless (file-accessible-directory-p site-lisp-directory)
(make-directory site-lisp-directory))
我的动机是package-user-dir
默认情况下是%USERPROFILE%/.emacs.d/elpa/
,这似乎是一个相当奇怪的位置。应为所有用户在系统范围内安装软件包。还~/.emacs.d
包含服务器设置、自动保存列表和备份。当 Emacs 有一个专门的 site-lisp-directory 可以询问时,那里有什么包可以做。
然而,真正的“问题”是用于 Windows的预编译 Emacs 24.3 。它不需要安装,因此可以便携式运行,就像从棍子上一样。恕我直言,ELPA 应该使用它的 site-lisp-directory,这样包也可以移植安装。