[英]EMACS Warning (package): Unnecessary call to ‘package-initialize’ in init file
[英]How to stop a package from initializing with package-initialize on emacs (slime)
我一直在尝试让 slime+sbcl 在我的 emacs (26.3) 上工作一段时间。 我首先通过 melpa 安装了 Slime,但没有用。 我终于让 Slime 能够使用 quicklisp 和以下代码在干净的 emacs (emacs -q) 上工作:
(load "~/quicklisp/slime-helper.el")
(setq inferior-lisp-program "sbcl")
但是,当我将它放入我的实际 init 文件并运行它时,它不起作用。 我想,如果我将package-enable-at-startup
为 nil 并注释掉package-initialize
,那么粘液就可以了。 我的猜测是通过 melpa 安装的 slime 正在“覆盖”使用 slime-helper 的 slime 初始化。 由于软件包依赖性,我无法通过 melpa 卸载 slime,并且担心我可能会搞砸一些事情。 但我还需要我的所有包进行初始化,除了粘液。 所以我想知道是否有办法初始化我的所有包,但抑制粘液包。
我认为最简单的方法是使用package-load-list
禁用“elpa slime” package-load-list
。 请参阅Ch v package-load-list
Return 的文档。 简而言之,您可以在init 文件中放入这样的内容。
(require 'package)
(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/")
'("gnu" . "https://elpa.gnu.org/packages/"))
(setq package-load-list '((slime nil))) ;; don't load slime
(package-initialize)
(load (expand-file-name "~/quicklisp/slime-helper.el"))
(setq inferior-lisp-program "sbcl")
package-initialize
将跳过加载slime
(并操纵你的load-path
,允许“quicklisp slime”首先出现在你的load-path
。这可能会也可能不会破坏包系统加载的依赖项。如果它们确实中断了,我' d 看看quicklisp
可以管理它们并以这种方式处理它们,或者我会手动管理它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.