我在尝试与其他编辑器合作几年后再次尝试切换到Emacs,但每当我设置MELPA并尝试从我的.init.el安装软件包时,我都会收到此错误。
基本上,package-compute-transaction似乎在包名的末尾添加了一个破折号,阻碍了它在存储库中找到。使用M-x package-install手动安装软件包可以正常工作。
我的init.el(目前准系统):
;; init.el -- Emacs config
;; MELPA setup and initial packages
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/"))
(unless package-archive-contents
(package-refresh-contents))
(package-initialize)
(defvar package-list
'(better-defaults
material-theme))
(dolist (p package-list)
(when (not (package-installed-p p))
(package-install p)))
;; Basic defaults
(setq inhibit-startup-message t) ;; Hide startup mesage
(load-theme 'material t) ;; Load theme: Material
(global-linum-mode t) ;; Line numbers
我使用--debug-init运行Emacs的错误:
Debugger entered--Lisp error: (error "Package ‘better-defaults-’ is unavailable")
signal(error ("Package ‘better-defaults-’ is unavailable"))
error("Package `%s-%s' is unavailable" better-defaults "")
package-compute-transaction(nil ((better-defaults)))
package-install(better-defaults)
(progn (package-install p))
(if (not (package-installed-p p)) (progn (package-install p)))
(while --dolist-tail-- (setq p (car --dolist-tail--)) (if (not (package-installed-p p)) (progn (package-install p))) (setq --dolist-tail-- (cdr --dolist-tail--)))
(let ((--dolist-tail-- myPackages) p) (while --dolist-tail-- (setq p (car --dolist-tail--)) (if (not (package-installed-p p)) (progn (package-install p))) (setq --dolist-tail-- (cdr --dolist-tail--))))
eval-buffer(#<buffer *load*> nil "c:/Users/Nelthorim/.emacs.d/init.el" nil t) ; Reading at buffer position 830
load-with-code-conversion("c:/Users/Nelthorim/.emacs.d/init.el" "c:/Users/Nelthorim/.emacs.d/init.el" t t)
load("c:/Users/Nelthorim/.emacs.d/init" t t)
#[0 "\205\266
我的Windows桌面和Linux笔记本电脑都出现了这个错误(确切地说是同一个错误),两个设置都有Emacs 24.5和25.0。
我找到了一个旧的SO答案,标记为已解决,类似的问题。但是&#34;解决方案&#34;因为那里没有工作。
编辑:对我的init.el进行了一些更改,但结果没有差异。
答案 0 :(得分:0)
似乎“拼写错误”是导致此错误的原因。
更改:
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/"))
有:
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/") t)
解决了这个问题。