8

我正在尝试为新的 Emacs 安装自动安装所有依赖项。当我将下面的代码段放在我的 .emacs 中时,我不断得到:Package `smex-' is unavailable.

我想知道这是否是预期的功能?Emacs starter-kit 做了一些我记得以前工作过的类似的事情。使用 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)))
4

2 回答 2

5

我在使用的时候遇到了这个问题

(add-to-list 'package-archives 
             '("melpa" . "http://melpa.milkbox.net/packages/"))

打电话(package-initialize)。如果我执行

(setq package-archives '(("melpa" . "http://melpa.milkbox.net/packages/")
                         ("gnu" . "http://elpa.gnu.org/packages/")))

之前(package-initialize),然后自动安装逻辑能够安装缺少的包。

于 2014-02-20T02:00:23.383 回答
0

package-compute-transaction

(error "Package `%s-%s' is unavailable"
       (symbol-name next-pkg)
       (package-version-join next-version))
于 2013-11-06T02:25:06.810 回答