Emacs: list-packages [нет совпадений]

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

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

Ответ 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.

UPDATE:

Оказывается, я искал пакет в 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. Надеюсь, это сэкономит время в будущем.