从melpa安装ghc-mod:下载请求期间出错

时间:2015-01-11 13:08:14

标签: emacs haskell-mode ghc-mod

我按照here的说明在Emacs中安装ghc-mod。我可以使用M-x package-list-packages添加melpa存储库和列表包,然后当我安装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。如何进行?感谢。

[编辑]我自己下载了这个软件包,但我仍然想知道这里有什么问题。

1 个答案:

答案 0 :(得分:1)

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

  • 您的.emacs(虽然已注释掉)和
  • 中有MELPA包存储库
  • 回溯表明您正在尝试安装版本20141130.1848,这是一个MELPA风格的时间戳。

但是,通过评论在您的init文件中禁用了MELPA。您列出了MELPA稳定版,它使用基于Git标记的different versioning scheme而不是构建时间戳。 latest version of ghc in MELPA Stable目前为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(版本1.10.2)。

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