2011-09-02 18 views
20

Próbuję dodać Marmalade jako źródło pakietu, ale gdy to zrobię, pojawia się błąd: Symbol's value as variable is void: package-archives. Ktoś wie, jak rozwiązać ten problem? Poniżej znajduje się mój plik .emacs.Dodawanie Marmalade jako źródło pakietu

;;; This was installed by package-install.el. 
;;; This provides support for the package system and 
;;; interfacing with ELPA, the package archive. 
;;; Move this code earlier if you want to reference 
;;; packages in your .emacs. 
(when 
    (load 
    (expand-file-name "~/.emacs.d/elpa/package.el")) 
    (package-initialize)) 

(add-to-list 'load-path (expand-file-name "~/.emacs.d")) 
(add-to-list 'load-path "~/.emacs.d/plugins") 
(add-to-list 'load-path "~/.emacs.d/plugins/color-theme") 
(add-to-list 'load-path "~/.emacs.d/plugins/groovy") 

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

Aby zainstalować package.el

Pobiegłem następujący kod:

(let ((buffer (url-retrieve-synchronously 
      "http://tromey.com/elpa/package-install.el"))) 
    (save-excursion 
    (set-buffer buffer) 
    (goto-char (point-min)) 
    (re-search-forward "^$" nil 'move) 
    (eval-region (point) (point-max)) 
    (kill-buffer (current-buffer)))) 
+0

Jaka jest wersja pliku package.el? Jak to zdobyłeś? Jeśli jest to pakiet elpa.el: nie zawiera 'archiwów pakietów 'i nie ma możliwości dodania repozytoriów. –

+0

@Michael Markert: * Myślę * ostatni; Dostałem go uruchamiając kod na dole mojego OP. Tak, to pakiet elpa.el. Jakie inne pakiety.el (s) są tam? – kin1

Odpowiedz

13

użyć package.el być dołączone emacs24, jak wersja ELPA nie obejmuje package-archives i obsługa wielu repozytoriów.

Stwierdzono tu (emacs24!): http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/lisp/emacs-lisp/package.el

Ostatni emacs23 wersja kompatybilna: http://repo.or.cz/w/emacs.git/blob/ba08b24186711eaeb3748f3d1f23e2c2d9ed0d09:/lisp/emacs-lisp/package.el

spadek go do loadpath i zadowolić jeden rodzaju obciążenia (czyli upuść linii po komentarz).

+0

Używam emacs 23.3.1 i link.el, z którym się łączyłeś, nie działa. Co więcej, czy mam upuścić * wszystkie * wiersze po komentarzach? Lub po prostu * (kiedy ...)? – kin1

+2

Och, zapomniałem, zgodność wsteczna została przerwana kilka miesięcy temu, dodałem ostatnią wersję kompatybilną z emacs23 do mojego postu. Co do upuszczania: po prostu 'when' i zastąp' require' z 'load', jeśli chcesz zachować ścieżkę. –

+0

działa świetnie. dla emacs 23.3.1 na ubuntu. – aartist

Powiązane problemy