Hem MELPA'yı hem de MELPA'yı aynı anda kullanmak mümkün mü?


29

Ek bir paket deposu olarak melpa-stabil kullanıyorum, fakat kullanmak istediğim paketlerden biri (buz sarkıtları) melpa-stabil'da mevcut değil. Package.el dosyasını normalde melpa-kararlı kullanacak şekilde yapılandırmak için herhangi bir yöntem var mı, ancak belirli bir paket alt grubu için melpa kullanıyor musunuz?


1

@Malabarba, bu kesinlikle kartların üstünde ...
Timo Geusch

Ben de iciclesmelpa'da bulamıyorum .
user650654

Yanıtlar:


34

package-archive-prioritiesBunun 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-prioritiesvarsayı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-packageskullanmak istediğiniz tüm paketleri manuel olarak veya bir parça Emacs Lisp kodu ile doldurmak . Not package-pinned-packagesayarlanması gerekir önce çağıran package-refresh-contentsederken 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ı.


0

Burada her iki havuzu da paralel olarak kullanma hakkında bir tartışmanız var, bu yüzden 24.4 ile mümkün olmalı; Örneğin, repo listesini güncellemek, daha sonra paradoks gereksinimi ve nihayet orijinal repo listesine geri dönmek için bir savunma ile denediniz mi?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.