Я использую melpa-stable в качестве дополнительного репозитория пакетов, но один из пакетов, который мне нравится использовать (icicles), недоступен в melpa-stable. Есть ли способ настроить package.el для обычного использования melpa-stable, но использовать melpa для определенного подмножества пакетов?
package
package-repositories
icicles
Тимо Гойш
источник
источник
icicles
на Мелпе.Ответы:
Используйте опцию,
package-archive-priorities
которая была сделана для этой цели. Чтобы предпочесть MELPA Stable, а не MELPA, добавьте в файл инициализации следующее:Чем выше число, тем выше приоритет архива пакета. Для любого пакета, который существует в нескольких архивах, менеджер пакетов Emacs выбирает пакет из архива с самым высоким приоритетом и игнорирует пакеты в других архивах, даже если номер версии выше. Если пакет существует в двух архивах с одинаковым приоритетом, побеждает более высокий номер версии, и в конечном итоге я думаю, что порядок в
package-archives
.Я рекомендую явно назначать приоритет всем архивам, включая архив GNU ELPA по умолчанию, чтобы избежать двусмысленности. Хотя архивы, для которых нет,
package-archive-priorities
имеют приоритет по умолчанию 0, слишком легко забыть об этом.package-archive-priorities
была введена в Emacs 25.1, для более ранних выпусков смотрите старый ответ ниже:В Emacs 24 невозможно по умолчанию использовать MELPA Stable и использовать MELPA только для определенных пакетов. Без какой-либо настройки package.el по умолчанию использует архив с самой высокой версией , а именно MELPA. Нет интерфейса, чтобы изменить это.
Тем не менее, начиная с Emacs 24.4, новая опция
package-pinned-packages
позволяет вам прикреплять отдельные пакеты к архивам, но это только позволяет вам реализовать обратную задачу: по умолчанию использовать MELPA и использовать MELPA Stable для определенных пакетов.Следовательно, в настоящее время ваш единственный вариант - заполнить
package-pinned-packages
все пакеты, которые вы хотели бы использовать, либо вручную, либо с помощью некоторого фрагмента кода Emacs Lisp. Обратите внимание, что этоpackage-pinned-packages
должно быть установлено перед вызовом,package-refresh-contents
потому что закрепление оценивается при построении индекса пакета , а не при установке пакетов.Долгосрочным решением было бы
M-x report-emacs-bug
попросить разработчиков Emacs реализовать какую-то функцию «архива по умолчанию» или попросить сопровождающего сословия сделать выпуски с соответствующей маркировкой, чтобы MELPA Stable могла создавать стабильные пакеты для него. Однако ни то, ни другое может оказаться непростым делом, поскольку первое требует больших изменений в package.el, а второе - сосульки перемещаются из EmacsWiki в какой-то правильный репозиторий VCS с тегами, что, как я полагаю, его сопровождающий не желает делать, для если бы они были, они бы сделали это давно.источник
Здесь у вас есть обсуждение по поводу использования обоих репозиториев параллельно, так что это должно быть возможно с 24.4; вы пробовали, например, с defun обновить список репозиториев, затем paradox-require и, наконец, вернуться к первоначальному списку репо?
источник