2016-10-02 19 views
6

stasis dağıtımımı PAUSE'ye yükledim, ancak index'da değil. Neden CPAN dağıtımım PAUSE tarafından dizine eklenmedi?

Ben bir paket içermiyordu çünkü bu olduğunu düşündüm, bu yüzden böyle v0.04 durağanlığın script bir paket deklarasyon ekledi:

#!/usr/bin/env perl 
package stasis; 
package main; 
... 

ama hala endeksli değildi.

Boilerplate modül dosyası oluşturulmasını gerektirmeyen bu dağıtım endeksli almak için var mı? (ör. dağıtıma lib/stasis.pm ekleyerek).

+1

Pause e-postası ne diyor? Belki de $ VERSION değişkenini pakete taşıyın? – choroba

+0

Yalnızca "dizinlenmiş" e-postayı değil, "yükleme" e-postasını PAUSE'den aldım. $ VERSION ile ilgili ilginç bir öneri, inanıyorum ki, onu META.json'a eklediğinden, versiyonun iyi olduğunu buluyor. –

+2

Küçük harf adları pragma için ayrılmıştır ve kendiniz için en üst düzey ad alanlarını talep etmemelisiniz !!! – ikegami

cevap

7

CPAN'ın komut dosyalarını endekslemediğine inanıyorum.

IMO en iyi seçeneğiniz, komut dosyanızın program aracılığıyla yapmasını sağlayan bir modül oluşturmaktır (ve komut dosyasını kullanır).

Sahte bir modül yerleştirebilir ya da komut dosyanızın bir modül olduğunu düşünebilirim (ben bunu provides çalışmalarında listelemeyi düşünüyorum), ama ben senin yerinde olsam olmazdım.

+2

Veri ekleme META.yml ve META.json için hile yaptı! –

+2

CPAN'daki komut dosyaları genellikle bağırsaklarını "App :: $ script_name" adlı bir modülde kullanır. [Örnek] (http://search.cpan.org/perldoc?App::perlbrew) – ikegami

+0

@DavidFarrell sadece "eğer hile yaptınız" derken cpan şimdi bir staz modülü olduğunu söylüyor demektir – ysth

2

ifadeniz, *.pm dosyasında değildi. PAE dizini open source şeklindedir. Paketi açmak biraz karmaşıktır, ancak bir dağıtımda bir paket adını ayıklamak için kullanılan regex, 'dadır. Bu, yalnızca *.pm dosyalarını işlemek için kullanılan bir yöntem ve pakettir.

PAUSE::dist::_index_by_meta yöntemi, metaile provides anahtar sözcüğü aracılığıyla bir paket bildirmenin alternatif yöntemini sağlar.

İlgili konular