21.12.10

Переехал на el-get

Я достаточно долгое время таскал с собой все используемые пакеты для Емакса, вместе с конфигурационными файлами - это позволяло мне иметь везде одинаковую рабочую среду. Большая часть используемых пакетов бралась прямо из репозиториев и регулярно обновлялась с помощью набор шельных скриптов.
Но некоторое время назад я наткнулся на проект el-get, который берет на себя вопросы скачивания и обновления пакетов, и делает это прямо из емакса. Основное удобство заключается в том, что в составе el-get имеется большое количество готовых конфигурационных файлов (рецептов) для самых разных пакетов, и вы можете сразу использовать их в своей конфигурации.
Использование el-get очень просто - вы определяет список пакетов, которые вы хотите использовать, а затем вызываете функцию (el-get), которая выкачивает пакет, компилирует его в соответствии с инструкциями, и загружает нужные части, так что пакет становится доступным для использования.  Подробности использования можно найти в описании проекта.
Неделю назад я наконец-то собрался с духом, и перевел свою рабочую конфигурацию на el-get (я пока использую свой форк проекта, хотя многие из рецептов уже внесены в основной проект), пришлось правда добавить рецептов которых еще не было в репозитории, и немного повозиться со сборкой на Mac OS X. Но в остальном - все работает нормально.

17 комментариев:

Nodir Gulyamov комментирует...

Алекс, спасибо за наводку.
Надо будет обязательно посмотреть.
А то я таскаю свою конфигурацию через Dropbox. Порой неудобно.

Alex Ott комментирует...

ну настройки никуда не делись, а вот обновлять пакеты стало гораздо удобней

Sanik комментирует...

Алекс, у тебя ecb.el рецепт без модификаций работает?
Важен ли порядок указания cedet и ecb для el-get?
Я так понял что ему нужно указать путь к CEDET, поскольку без него не строится.
Или он должен автоматически подставляться?

Alex Ott комментирует...

с ecb надо разбираться, это в планах стоит. там вообще надо некоторые вещи доделывать

Sanik комментирует...

ну по крайней мере у меня собралось с добавлением CEDET=../cedet
уж и не знаю корректно или нет :)
буду смотреть :)

iNode комментирует...

Чем оно лучше/хуже/отличается от elpa?

Alex Ott комментирует...

он не лучше/хуже, он просто для немного других целей. ELPA в основном сделан для released версий, а el-get может обновляться из репозиториев, скачивать файлы и т.д. К тому же он поддерживает ELPA как один из источников пакетов

squ1b3r комментирует...

Добрый день. Подскажите такую штуку, решил собрать себе этот самый el-get, и по какой-то причине та версия что нынче в репозитории не собирается и падает с ошибкой: Debugger entered--Lisp error: (error "el-get: can not find package name `el-get' in `el-get-sources'")

Я пока в елиспе не очень силен, подскажите что за напасть. Пробовалось на макоси и убунте 10.10

Alex Ott комментирует...

а как его устанавливали? по инструкции на сайте или как?

squ1b3r комментирует...

Все как написано на сайте, скопировал, вставил, запустил. Оно клонирует репозиторий, все как надо, потом вываливает трейс с ошибкой выше и все.

Alex Ott комментирует...

я пользуюсь своей версией, которая установлена вручную, поэтому у меня нет el-get в списке пакетов. Создайте багу у оригинального автора, приложив trace из емакса

squ1b3r комментирует...

Спасибо

Vernat комментирует...

мощная штука, похоже так и придется ботать elisp :)

VK комментирует...

Алекс, подскажите, для чего нужна переменная el-get-sources и что происходит со списком, который мы в неё передаем?

Alex Ott комментирует...

Это для кастомных рецептов, у меня это полный список еще со времен первых версий...

VK комментирует...

т.е. el-get их игнорирует при обновлении el-get-update-all? Спасибо!

Alex Ott комментирует...

Должен уже...