Emacs: списки пакетов [нет совпадений]

Я новичок в Emacs. Я хотел бы установить пакет, но выполнение M-x package-install говорит о том, что такой команды нет.

Попытка посмотреть, какие пакеты установлены с M-x list-packages, тоже не работает. В руководстве GNU Emacs об этом мало говорится (или я искал не в том месте), и я не могу придумать значимые ключевые слова для поиска из-за моих ограниченных знаний о Emacs.


person Tim    schedule 20.12.2013    source источник
comment
вы пробовали M-x package-list-packages?   -  person shyamupa    schedule 21.12.2013
comment
Система пакетов встроена в Emacs 24, но это сторонняя библиотека, если вы используете Emacs 23.   -  person phils    schedule 21.12.2013


Ответы (1)


Спасибо phils и shyamupa за то, что поставили меня на правильный путь. Действительно, я использую emacs 23 (для проверки "версия M-x").

Я использовал инструкцию из здесь для установки системы упаковки. Мне пришлось скопировать следующее:

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

а затем M-x eval-buffer

Тогда M-x package-list-packages работает.

ОБНОВИТЬ:

Оказывается, я искал пакет в MELPA, и описанная выше процедура настраивает вас только на ELPA. После установки содержимое моего файла .emacs было следующим:

(when
    (load
     (expand-file-name "~/.emacs.d/elpa/package.el"))
  (package-initialize))

Чтобы включить загрузку MELPA, мне пришлось заменить содержимое package.el на this и измените .emacs следующим образом (на основе этот вопрос SO):

(load (expand-file-name "~/.emacs.d/elpa/package.el"))
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(package-initialize)

Это сработало, и я получил огромный список пакетов от MELPA. Надеюсь, это сэкономит кому-то время в будущем.

person Tim    schedule 20.12.2013