0

我按照此处ghc-mod的说明在 Emacs中安装。我可以添加 melpa repos 并列出包M-x package-list-packages,然后当我去安装ghc包时,会发生这种情况:

Debugger entered--Lisp error: (error "Error during download request: Not Found")
  signal(error ("Error during download request: Not Found"))
  error("Error during download request:%s" " Not Found")
  package-handle-response()
  package-download-tar(ghc "20141130.1848")
  package-download-transaction((ghc))
  package-install(ghc)
  mapc(package-install (ghc))
  package-menu-execute()
  call-interactively(package-menu-execute nil nil)

.emacs我有

(require 'package)
;; Add the original Emacs Lisp Package Archive
(add-to-list 'package-archives
         '("elpa" . "http://tromey.com/elpa/"))
; old url for melpa
;(add-to-list 'package-archives
;             '("melpa" . "http://melpa.org/packages/") t)
(add-to-list 'package-archives 
     '("melpa-stable" . "http://melpa-stable.milkbox.net/packages/"))
;; Add the user-contributed repository
(add-to-list 'package-archives
         '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)

我在 ubuntu 上使用 emacs 24.3.1。如何进行?谢谢。

[编辑]我通过自己下载成功安装了这个包,但我仍然想知道这里有什么问题。

4

1 回答 1

1

看起来您可能已经开始使用 MELPA(不是 MELPA 稳定版):

  • 您的 MELPA 软件包存储库中有.emacs(尽管已注释掉),并且
  • 回溯显示您正在尝试安装 version 20141130.1848,这是一个 MELPA 样式的时间戳。

但是 MELPA 在您的 init 文件中被注释禁用。您列出了 MELPA stable,它使用基于 Git 标签而不是构建时间戳的不同版本控制方案。MELPA Stable中的最新版本ghc目前是5.2.1.2.

我认为您可能在没有运行的情况下进行了此更改package-refresh-contents,这会更新您的本地软件包列表。(请注意,这通常是自动完成的,例如通过使用 加载包列表package-list-packages)。

因此,当您尝试安装时ghc,根据 Emacs 的陈旧包列表查找版本20141130.1848,但只能找到版本5.2.1.2。运行后再试M-x package-refresh-contents

请注意,您启用了 Marmalade,其中包含ghc(version 1.10.2)。

由于 MELPA 和 Marmalade 之间有一些包装重叠,我不建议同时使用两者。您可以手动将包固定到一个存储库,但这会很痛苦。几个月前我专门切换到 MELPA Stable,我对此非常满意。

于 2015-01-11T16:11:31.447 回答