Добавление Marmalade в качестве источника пакета

Я пытаюсь добавить Marmalade в качестве источника пакета, но при этом получаю сообщение об ошибке: Symbol's value as variable is void: package-archives. Кто-нибудь знает, как решить эту проблему? Ниже мой файл .emacs.

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

Чтобы установить package.el

Я запустил следующий код:

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

person kin1    schedule 02.09.2011    source источник
comment
Какая версия package.el? Как ты получил это? Если это пакет elpa.el: он не включает package-archives и не имеет возможности добавлять репозитории.   -  person Michael Markert    schedule 02.09.2011
comment
@Michael Markert: я думаю последний; Я получил это, запустив код в нижней части моего ОП. Да, это пакет elpa.el. Какие еще существуют пакеты package.el?   -  person kin1    schedule 02.09.2011


Ответы (1)


Используйте package.el для включения в emacs24, так как версия ELPA не включает package-archives и поддержку нескольких репозиториев.

Его можно найти здесь (emacs24!): http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/lisp/emacs-lisp/package.el

Последняя версия, совместимая с emacs23: http://repo.or.cz/w/emacs.git/blob/ba08b24186711eaeb3748f3d1f23e2c2d9ed0d09:/lisp/emacs-lisp/package.el

Вставьте его в путь загрузки и выберите один тип загрузки (то есть удалите строки после комментария).

person Michael Markert    schedule 02.09.2011
comment
Я использую emacs 23.3.1, и package.el, на который вы ссылаетесь, похоже, не работает. Кроме того, вы хотите, чтобы я удалил все строки после комментариев? Или просто *(когда...)? - person kin1; 03.09.2011
comment
О, я забыл, обратная совместимость была нарушена несколько месяцев назад, я добавил последнюю версию, совместимую с emacs23, в свой пост. Что касается удаления: просто when и замените require на load, если вы хотите сохранить путь. - person Michael Markert; 03.09.2011