2011-09-02 11 views
20

Tôi đang cố thêm Marmalade làm nguồn gói, nhưng khi tôi làm như vậy, tôi gặp lỗi: Symbol's value as variable is void: package-archives. Bất kỳ ai biết cách giải quyết vấn đề này? Dưới đây là tệp .emacs của tôi.Thêm Marmalade làm Nguồn gói

;;; 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) 

Để cài đặt package.el

Tôi chạy đoạn mã sau:

(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

Phiên bản package.el là gì? Làm thế nào bạn có được nó? Nếu đó là gói elpa.el: Nó không bao gồm 'gói lưu trữ' và không có khả năng thêm kho. –

+0

@Michael Markert: Tôi * nghĩ * cái mới nhất; Tôi đã nhận được nó bằng cách chạy mã ở dưới cùng của OP của tôi. Vâng, đó là gói elpa.el. Có gói nào khác. (S) ở đó? – kin1

Trả lời

13

Sử dụng package.el để được bao gồm với emacs24, như các phiên bản ELPA không bao gồm package-archives và hỗ trợ cho nhiều kho lưu trữ.

Nó được tìm thấy ở đây (emacs24!): http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/lisp/emacs-lisp/package.el

emacs23 cuối tương thích phiên bản: http://repo.or.cz/w/emacs.git/blob/ba08b24186711eaeb3748f3d1f23e2c2d9ed0d09:/lisp/emacs-lisp/package.el

Thả nó vào loadpath của bạn và giải quyết cho một loại tải (có nghĩa là thả các dòng sau bình luận).

+0

Tôi đang sử dụng emacs 23.3.1 và gói. Bạn đã liên kết với dường như không hoạt động. Hơn nữa, bạn có muốn tôi thả * tất cả * các dòng sau khi bình luận? Hoặc chỉ * (khi ...)? – kin1

+2

Tôi quên mất, tính tương thích ngược đã bị hỏng vài tháng trước, tôi đã thêm phiên bản tương thích emacs23 cuối cùng vào bài đăng của tôi. Đối với giảm: Chỉ cần 'khi' và thay thế' require' bằng 'load' nếu bạn muốn giữ đường dẫn. –

+0

hoạt động tuyệt vời. cho emacs 23.3.1 trên ubuntu. – aartist