我正在尝试自动安装所有依赖项以进行新的Emacs安装。当我将以下代码段放入.emacs中时,我不断得到:Package `smex-' is unavailable.
我想知道这是否是预期的功能? Emacs入门套件做了类似的事情,我记得以前曾经做过。使用Emacs 24.3。

(when (not package-archive-contents)
  (package-refresh-contents))

(defvar my-packages
  '(smex))

(dolist (p my-packages)
  (let ((s (symbol-name p)))
    (when (not (package-installed-p s))
      (package-install s))))

编辑

显然,这是由错误或其他原因引起的。我现在能够在最新的Emacs 24.3.1中使它工作。显然他们也进行了更改,因此程序包名称应为符号。
(package-initialize)

(when (not package-archive-contents)
  (package-refresh-contents))

(defvar my-packages
  '(list of packages))

(dolist (p my-packages)
  (when (not (package-installed-p p))
    (package-install p)))

最佳答案

参见package-compute-transaction:

(error "Package `%s-%s' is unavailable"
       (symbol-name next-pkg)
       (package-version-join next-version))

关于Emacs软件包安装是否要插入破折号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19802757/

10-11 23:21
查看更多