Использование package.el
Теперь, когда архивы и их приоритеты настроены, пришло время научиться работать с package.el.
Установка
Для установки пакета:
-
Обновите список доступных пакетов с помощью команды
package-refresh-contents. -
Выполните команду
package-install.В минибуфере будет выведено приглашение ко вводу названия пакета:
Install package: -
Введите название нужного пакета и нажмите RET.
GNU Emacs подключится к нужному архиву, загрузит из него код пакета и распакует в каталог
~/.emacs.d/elpa/. При необходимости также будут загружены и установлены зависимости.
Удаление
|
Некоторые пакеты нельзя удалить средствами GNU Emacs:
|
Для удаления пакета:
-
Выполните команду
package-delete.В минибуфере будет выведено приглашение ко вводу названия пакета:
Delete package: -
Введите название ненужного пакета и нажмите RET.
-
Если удаляемый пакет является зависимостью другого пакета, GNU Emacs напишет его название. В этом случае придётся сначала удалить зависимый пакет.
Обновление
Чтобы обновить установленные пакеты, выполните команду package-upgrade-all.
GNU Emacs проверит содержимое архивов, и если найдёт у вас пакеты, которые можно обновить, предложит это сделать.
Подтвердите выполнение операции и перезапустите GNU Emacs.
Часто нет необходимости перезапускать редактор. Однако, иногда без этого он начинает вести себя странно. Например, выдаёт ошибки при вызове команд, которые точно работали в предыдущей версии пакета.
Семь бед — один reset! Точнее, перезапуск редактора.
Интерактивный режим
Пакет package.el позволяет управлять пакетами в интерактивном режиме.
Чтобы открыть список пакетов, выполните команду package-list-packages.
|
У команды |
package-list-packages автоматически выполняет команду package-refresh-contents.
Понадобится некоторое время, чтобы загрузить из архивов новые версии списков доступных пакетов.
Во время этого процесса в строке статуса будет выводиться надпись "Loading…".
Когда список пакетов будет загружен, в буфере *Packages* отобразится таблица с несколькими колонками:
-
безымянная колонка, в которой будет выводиться маркер назначенного действия;
-
Package — название пакета;
-
Version — версия пакета;
-
Status — состояние пакета;
-
available— пакет доступен для установки; -
installed— пакет уже установлен с помощью менеджера пакетов; -
dependency— пакет установлен как зависимость другого пакета; -
build-in— встроенный пакет; -
external— пакет установлен с помощью сторонних средств, например, менеджера пакетов операционной системы; -
incompat— пакет несовместим с используемой версией GNU Emacs; -
new— пакета раньше[1] не было, а теперь он появился;
-
-
Archive — архив, в котором находится указанная версия пакета;
-
Description — краткое описание пакета на английском языке.
Для работы со списком используйте указанные в таблице сочетания и последовательности:
| Сочетание | Действие | Метка |
|---|---|---|
n |
Перейти к следующему пакету |
— |
p |
Перейти к предыдущему пакету |
— |
i |
Отметить пакет как устанавливаемый |
|
d |
Отметить пакет как удаляемый |
|
U |
Отметить пакет как обновляемый |
|
u |
Снять метку, если она установлена |
— |
RET |
Показать краткую информацию о пакете. Информация выводится в отдельном окне. Чтобы закрыть его, нажмите C-x 1 |
— |
w |
Открыть веб-страницу пакета в браузере |
— |
/ / |
Сброс фильтра пакетов |
— |
/ n |
Фильтрация списка пакетов по названию |
— |
/ d |
Фильтрация списка пакетов по описанию |
— |
/ N |
Фильтрация списка пакетов по названию или описанию |
— |
/ a |
Фильтрация списка пакетов по названию архива |
— |
/ k |
Фильтрация списка пакетов по ключевым словам |
— |
/ m |
Фильтрация списка пакетов по наличию маркера |
— |
/ s |
Фильтрация списка пакетов по статусу |
— |
/ u |
Фильтрация списка пакетов по возможности обновления |
— |
/ v |
Фильтрация списка пакетов по версиям |
— |
q |
Закрыть буфер |
— |
Пример работы со списком пакетов
Допустим, мы хотим установить несколько пакетов:
-
doom-themes; -
markdown-mode; -
nerd-icons.
Мы можем пойти двумя путями:
-
Обновить список доступных пакетов с помощью
package-refresh-contents, а затем три раза вызватьpackage-install. -
Открыть список доступных пакетов с помощью
package-list-packages, найти нужные пакеты, отметить их, а затем запустить установку.
Очевидно, что при массовой установке пакетов второй способ предпочтительнее[2].
Давайте прямо сейчас установим несколько пакетов, используя второй способ:
-
Выполните команду
package-list-packagesи дождитесь обновления списка доступных пакетов. -
Найдите строки с нужными пакетами.
Пакеты в буфере
*Packages*упорядочены по статусу и алфавиту, но также вы можете использовать для поиска фильтры. Например, чтобы найти пакетdoom-themes, нажмите / n doom RET. Для сброса фильтра нажмите / /. -
Чтобы отметить пакет как устанавливаемый, переместите курсор к соответствующей строке и нажмите i. В первой колонке появится метка
I. -
Отметьте все нужные пакеты.
-
Для запуска выполнения назначенных операций нажмите x.
В строке статуса будет выведен запрос на подтверждение:
Packages to install: 3 (nerd-icons-0.1.0 markdown-mode-2.6 doom-themes-2.3.0). Proceed? (y or n) -
Нажмите y.
GNU Emacs запустит установку пакетов. Будет открыто новое окно, в котором отобразится ход компиляции кода пакетов.
Когда установка пакетов будет закончена, в строке статуса будет выведено сообщение:
Operation [ Install 3 ] finished -
Чтобы закрыть буфер
*Packages*, нажмите q.Перезапускать GNU Emacs нет необходимости — все установленные пакеты готовы к работе. Чтобы убедиться в этом, выполните команду
load-theme, указав название темыdoom-molokai.