package-archive-priorities
Bunun için yapılmış olan seçeneği kullanın . MELPA'yı tercih etmek için MELPA'ya kararlıdır, init dosyasına aşağıdakileri ekleyin:
(setq package-archives
'(("GNU ELPA" . "https://elpa.gnu.org/packages/")
("MELPA Stable" . "https://stable.melpa.org/packages/")
("MELPA" . "https://melpa.org/packages/"))
package-archive-priorities
'(("MELPA Stable" . 10)
("GNU ELPA" . 5)
("MELPA" . 0)))
Sayı ne kadar yüksek olursa, paket arşivinin önceliği de o kadar yüksek olur. Birden fazla arşivde bulunan herhangi bir paket için Emacs'in paket yöneticisi, paketi arşivden en yüksek önceliğe sahip seçer ve sürüm numarası daha yüksek olsa bile diğer arşivlerdeki paketleri yok sayar. Paket aynı önceliğe sahip iki arşivde mevcutsa, daha yüksek sürüm numarası kazanır ve sonuçta siparişin içinde olduğunu düşünüyorum package-archives
.
Herhangi bir belirsizliği önlemek için, varsayılan GNU ELPA arşivi de dahil olmak üzere tüm arşivlere açıkça öncelik vermenizi öneririm. Her ne kadar arşivde package-archive-priorities
varsayılan olmayan 0 önceliği olsa da, bunu unutmak çok kolaydır.
package-archive-priorities
Emacs 25.1'de tanıtıldı, önceki sürümlerde aşağıdaki eski cevaba bakınız:
Emacs 24'te MELPA Stable'ı varsayılan olarak kullanmak mümkün değildir ve MELPA'yı sadece belirli paketler için genel olarak kullanmak mümkün değildir. Herhangi bir özelleştirme paketi olmadan .el varsayılan olarak MELPA olan en yüksek sürümü sağlayan arşive döner. Bunu değiştirecek bir arayüz yok.
Bununla birlikte, Emacs 24.4'ten itibaren yeni seçenek package-pinned-packages
, paketleri tek tek arşivlere sabitlemenizi sağlar, ancak bu yalnızca gereksiniminizin tersini uygulamanıza izin verir: MELPA'ya varsayılan ve belirli paketler için MELPA Stable'ı kullanın.
Bu nedenle, şu anda tek seçeneğiniz, package-pinned-packages
kullanmak istediğiniz tüm paketleri manuel olarak veya bir parça Emacs Lisp kodu ile doldurmak . Not package-pinned-packages
ayarlanması gerekir önce çağıran package-refresh-contents
ederken sabitleme değerlendirilir çünkü paket dizin oluşturma paketleri yüklerken değil.
Uzun vadeli bir çözüm M-x report-emacs-bug
, Emacs geliştiricilerinden bir tür “varsayılan arşivleme” özelliği uygulamalarını istemek veya buz sarkıtlarının sahibinden, MELPA Stable'ın bunun için kararlı paketler oluşturabilmesi için uygun şekilde etiketlenmiş sürümler çıkarmasını istemek olacaktır. Her ikisi de kolay gelmeyebilir, çünkü birincisi package.el'de daha büyük değişiklikler gerektirir ve ikincisi, buz sarkıtlarının, EmacsWiki'den, sahibinin yapmaya istekli olmadığını düşündüğüm etiketleri olan uygun bir VCS deposuna taşındığını gösterir. Onlar olsaydı, uzun zaman önce yaparlardı.