Christopher Brinkley
Christopher Brinkley

Reputation: 344

Newly created Emacs init file won't load

Brand-new Emacs 24.5 64-bit install on Win7 did not seem to include an init.el file and I needed one for settings for a plug-in I want to use, so I created one in Emacs at C:\Users\brinklec\AppData\Roaming.emacs.d. Restarting Emacs, got the apparently famous

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

I did not initially understand the reference to "use-package" at the end of the error, and the preceding wording apparently misled me to think it was init.el that Emacs was saying it c ould not load.

Manual load gives the same error. However, Emacs can open and successfully resave the file.

I saw a bunch of similar issues, but all seemed to involve other files referenced in an already existing and successfully loaded init.el. I thought my issue was different, but now maybe not?

Contents of my init.el come from recommended config for ENSIME plug-in (verbatim except for first comment line below):

;;; ~/.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 output from --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

Upvotes: 4

Views: 3902

Answers (1)

Christopher Brinkley
Christopher Brinkley

Reputation: 344

Adding the following expression right before the final (require 'use-package) seems to have resolved the error (though I'm also no longer getting the helpful greeting screen on startup):

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

Upvotes: 6

Related Questions