【问题标题】:Emacs package-install inserting extra dash?Emacs 软件包安装插入额外的破折号?
【发布时间】:2013-11-17 03:21:09
【问题描述】:

我正在尝试为新的 Emacs 安装自动安装我的所有依赖项。当我将下面的 sn-p 放在我的 .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)))

【问题讨论】:

    标签: emacs package package-managers


    【解决方案1】:

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

    (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) 之前,自动安装逻辑能够安装缺失的包。

    【讨论】:

      【解决方案2】:

      package-compute-transaction:

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

      【讨论】:

      • 这就是错误发生的原因。我一直在查看 package.el,我看看能不能弄清楚为什么会这样。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 1970-01-01
      • 2019-11-20
      相关资源
      最近更新 更多