2011-11-17 7 views
7

Zainstalowałem Marmalade i pobrałem kilka interesujących pakietów. Ale teraz, kiedy zacznę Emacs otrzymuję ten błąd:Raporty ELPA/Marmalade "nie można otworzyć pliku ładowania" dla ~/.emacs.d/elpa/archives/-pkg

Cannot open load file: c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/archives/-pkg 

Jeśli używam --debug-init, otrzymuję:

Debugger entered--Lisp error: (file-error "Cannot open load file" "c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/archives/-pkg") 
load("c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/archives/-pkg" nil t) 
(if (file-directory-p pkg-dir) (load (concat pkg-dir ... "-pkg") nil t)) 
(let ((pkg-dir ...)) (if (file-directory-p pkg-dir) (load ... nil t))) 

package-load-descriptor("c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/" "archives") 
(lambda (name) (package-load-descriptor dir name))("archives") 
mapc((lambda (name) (package-load-descriptor dir name)) ("anything-1.287" "anything- complete-1.86" "anything-config-0.4.1" "archive-contents" "archive-contents~" "archives" "auto-indent-mode-0.35" "builtin-packages" "builtin-packages~" "clojure-mode-1.7.1" "clojurescript-mode-0.5" "coffee-mode-0.3.0" "color-file-completion-1.0.1" "color-theme-6.6.1" "color-theme-eclipse-0.0.2" "color-theme-github-0.0.3" "color-theme-railscasts-0.0.2" "color-theme-twilight-0.1" "css-mode-1.0" "drag-stuff-0.0.3" "evernote-mode-0.41" "find-file-in-project-2.0" "flymake-coffee-0.4" "flymake-haml-0.5" "flymake-ruby-0.4" "flymake-shell-0.5" "haml-mode-3.0.14" "highlight-parentheses-1.0.1" "html-script-src-0.0.2" "inf-ruby-2.1" "js-comint-0.0.1" "js2-mode-20090814" "lua-mode-20100617" "package.el" "package.el~" "project-local-variables-0.2" "ruby-compilation-0.7" "ruby-electric-1.1" "ruby-mode-1.1" "slime-20100404" "tabbar-2.0.1" "tabbar-ruler-0.2" "yasnippet-0.6.1" "yasnippet-bundle-0.6.1" "zenburn-1.8")) 
(if (file-directory-p dir) (mapc (lambda ... ...) (directory-files dir nil "^[^.]"))) 
(lambda (dir) (if (file-directory-p dir) (mapc ... ...)))("c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/") 
mapc((lambda (dir) (if (file-directory-p dir) (mapc ... ...))) ("c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/" "/usr/share/emacs/site-lisp/elpa/")) 
package-load-all-descriptors() 
package-initialize() 
    (progn (package-initialize)) 
(if (load (expand-file-name "~/.emacs.d/elpa/package.el")) (progn (package-initialize))) 
(when (load (expand-file-name "~/.emacs.d/elpa/package.el")) (package-initialize)) 
eval-buffer(#<buffer *load*> nil "c:/Documents and Settings/Carlos/Datos de programa/.emacs" nil t) ; Reading at buffer position 9019 
load-with-code-conversion("c:/Documents and Settings/Carlos/Datos de programa/.emacs" "c:/Documents and Settings/Carlos/Datos de programa/.emacs" t t) 
load("~/.emacs" t t) 
#[nil "\205\264 

Ten plik nie istnieje. Próbowałem szukać tego problemu w Google, ale nic nie znalazłem.

Odpowiedz

13

Easy. Z jakiegoś powodu używasz teraz wersji "classic" z http://tromey.com/elpa/package.el. Jest bardzo niezgodny z najnowszymi wersjami package.el. Jak udało ci się zainstalować pakiety Marmalade przy użyciu tej wersji, nie wiem; musiałaś mieć inną wersję package.el po zainstalowaniu tych pakietów, być może dlatego, że używasz w tym czasie nowszych Emacs.

Rozwiązaniem jest użycie wersji dostarczonej z Emacs (jeśli jest wystarczająco nowy, aby ją mieć) lub zastąpienie ~/.emacs.d/elpa/package.el z this version zamiast, jak opisano w Marmalade instructions.

+0

Mam podobne problemy i to rozwiązanie nie działa dla mnie. kiedy dodam plik package.el do '~/.emacs.d/elpa/package.el' i eval do bufora' .emacs' otrzymam '(plik-błąd" Nie mogę otworzyć pliku "" pakiet ")' – PPPaul

+0

Istnieją 2 możliwe miejsca dla pliku inicjującego emacs. Jedna to '~/.emacs', a druga to' ~/.emacs.d/init.el'. Ponieważ używasz tego pierwszego, uważam, że '~/.emacs.d' nie znajduje się na' load-path'. Spróbuj użyć tego ostatniego układu. Ostatecznie najlepszym rozwiązaniem jest użycie najnowszej wersji Emacsa, aby pakiet "package.el" był spakowany. Było kilka odpowiednich stabilnych wersji. – sanityinc

+0

Usunąłem mój plik .emacs.rzeczy działają teraz dużo lepiej – PPPaul

0

myślę, że może po prostu odejść, jeśli ręcznie utworzyć katalog na:

c:/Documents and Settings/Carlos/Datos de programa/.emacs.d/elpa/archives/-pkg 
+0

to nie działa dla mnie. (na komputerach Mac 10.8.2) – PPPaul

1

Dodanie pliku, a nie katalogu, używając touch ~/.emacs.d/elpa/archives/-pkg rozwiązało to dla mnie.

5

Natknąłem się na to pytanie, próbując rozwiązać podobny problem. W moim przypadku, zmuszając package-initialize rozwiązali problem:

;; init.el 
(require 'package) 
(package-initialize) 

Chociaż nie odczytać kodu źródłowego package.el, wierzę jakiś lenistwo w package.el jest cousing problem. Chociaż to jest stare pytanie, chciałem odpowiedzieć na wypadek, gdyby ktoś potrzebował pomocy.

Aby uzyskać więcej informacji na temat uruchamiania Emacs, zobacz http://www.gnu.org/software/emacs/manual/html_node/elisp/Startup-Summary.html.

+0

Niedawno wpadłem na ten problem z eksportem w trybie org, po tym, jak musiałem zrobić czystą instalację Ubuntu 12.10 nad uszkodzoną + nieudaną aktualizacją. To rozwiązało problem na razie przy minimalnym zamieszaniu –

+0

Przeczytaj także "Instalacja pakietu CH IG (emacs) RET" zaczynając od "Powodem automatycznego ładowania pakietu po wczytaniu pliku init jest to, że opcje użytkownika otrzymują tylko spersonalizowane wartości po załadowaniu init plik, w tym opcje użytkownika, które mają wpływ na system pakowania. " – phils

+0

Możesz użyć 'po-init-hook' w celu oceny kodu niestandardowego po zakończeniu normalnego inicjowania pakietu. np .: '(dodaj-hook 'after-init-hook' my-after-init-hook) (defun my-after-init-hook() ...)' – phils

0

W moim przypadku musiałem dodać tę dyrektywę powiedzieć emacsowi gdzie może znaleźć pliki wymagane:

Pierwsza linia ta

(add-to-list 'load-path "~/.emacs.d/") 

a wymagany pakiet ...

(require 'package) 
(add-to-list 'package-archives 
      '("marmalade" . "http://marmalade-repo.org/packages/") t) 
(package-initialize) 

(when (not package-archive-contents) 
    (package-refresh-contents)) 
Powiązane problemy