2016-06-28 15 views
4

Brandneue Emacs 24.5 64-Bit-Installation auf Win7 schien keine init.el-Datei enthalten und ich brauchte eine für Einstellungen für ein Plug-in, das ich verwenden möchte, so Ich habe einen in Emacs unter C: \ Users \ brinklec \ AppData \ Roaming.emacs.d erstellt. Neustarten von Emacs, bekam die scheinbar berühmtNeu erstellte Emacs Init-Datei wird nicht geladen

Warning (initialization): An error occurred while loading `c:/Users/brinklec/AppData/Roaming/.emacs.d/init.el': 

File error: Cannot open load file, no such file or directory, use-package 

ich nicht von Anfang an die Referenz verstanden zu „use-Paket“ am Ende des Fehlers und die vorangehende Formulierung verleitet mich offenbar zu denken, es war init.el dass Emacs sagte, es könnte nicht geladen werden.

Manuelle Last gibt den gleichen Fehler. Emacs kann die Datei jedoch öffnen und erfolgreich erneut speichern.

Ich sah eine Reihe ähnlicher Probleme, aber alle schienen andere Dateien einzubeziehen, die in einer bereits vorhandenen und erfolgreich geladenen init.el referenziert wurden. Ich dachte mein Problem war anders, aber jetzt vielleicht nicht?

Inhalt meiner init.el kommen aus recommended config for ENSIME plug-in (wörtlich mit Ausnahme ersten Kommentarzeile unten):

;;; ~/.emacs.d/init.el 
;; global variables 
(setq 
inhibit-startup-screen t 
create-lockfiles nil 
make-backup-files nil 
column-number-mode t 
scroll-error-top-bottom t 
show-paren-delay 0.5 
use-package-always-ensure t 
sentence-end-double-space nil) 

;; buffer local variables 
(setq-default 
indent-tabs-mode nil 
tab-width 4 
c-basic-offset 4) 

;; modes 
(electric-indent-mode 0) 

;; global keybindings 
(global-unset-key (kbd "C-z")) 

;; the package manager 
(require 'package) 
(setq 
use-package-always-ensure t 
package-archives '(("gnu" . "http://elpa.gnu.org/packages/") 
        ("org" . "http://orgmode.org/elpa/") 
        ("melpa" . "http://melpa.org/packages/"))) 

(package-initialize) 
(when (not package-archive-contents) 
    (package-refresh-contents) 
    (package-install 'use-package)) 
(require 'use-package) 

Debug-Ausgabe von debug-init:

Debugger entered--Lisp error: (file-error "Cannot open load file" "no such file or directory" "use-package") 
    require(use-package) 
    eval-buffer(#<buffer *load*> nil "c:/Users/brinklec/AppData/Roaming/.emacs.d/init.el" nil t) ; Reading at buffer position 841 
    load-with-code-conversion("c:/Users/brinklec/AppData/Roaming/.emacs.d/init.el" "c:/Users/brinklec/AppData/Roaming/.emacs.d/init.el" t t) 
    load("c:/Users/brinklec/AppData/Roaming/.emacs.d/init" t t) 
    #[0 "\205\262 
+0

Emacs benötigt * keine init-Datei (und erstellt keine in Ihrem Namen); Aber wenn Sie es einem geben, möchten Sie sicherstellen, dass es gültig ist. Anscheinend hast du es gegeben, was von der "use-package" -Bibliothek eines Drittanbieters abhängt, ohne diese installiert zu haben. – phils

+0

Ich habe den Inhalt von init.el oben hinzugefügt, den ich von ensime.org-Empfehlungen für das ENSIME-Plug-in kopiert habe. Die allerletzte Zeile sagt (benötigt 'Use-Package'). Zuvor in der Datei scheinen einige Parameter für use-package zu sein. Ich weiß nicht, welche Regeln für die Bewertung gelten hier ... –

+0

Starten Sie Emacs mit dem Schalter (Befehlszeilenoption) '--debug-init'. – Drew

Antwort

5

den folgenden Ausdruck hinzufügen kurz vor dem letzten (benötigt 'use-package') scheint der Fehler behoben zu haben (obwohl ich beim Start auch nicht mehr den hilfreichen Begrüßungsbildschirm bekomme):

(unless (package-installed-p 'use-package) 
    (package-refresh-contents) 
    (package-install 'use-package)) 
+0

Das liegt daran, dass Sie 'inhibit-startup-screen t' eingestellt haben. Wenn Sie den Startbildschirm erhalten möchten, entfernen Sie diese Zeile aus Ihrer Konfiguration. –