Pertanyaan perl: pembuat modul cpan baru? file teks konfigurasi lokal dan dapat dieksekusi, juga?


Saya menulis program perl yang ingin saya bagikan dengan orang lain, akhirnya melalui cpan. sudah sampai pada titik di mana saya harus mulai memikirkan hal ini dalam skala yang lebih besar.

  • satu dekade yang lalu, saya menggunakan pembuat paket h2xs sekali. apakah ini cara yang paling disarankan untuk memulai? dulu ada beberapa alternatif. karena saya memulai dari awal dengan sedikit sekali ingatan, sesuatu yang sederhana akan dilakukan pada titik ini.

  • Saya perlu membaca beberapa file teks panjang (bukan modul perl) untuk konfigurasi. di mana saya menempatkan mereka dan bagaimana cara mengaksesnya, di mana pun modul itu dipasang? (FindBin?) _DATA_ tidak nyaman.

  • Saya perlu menyediakan executable (linux dan osx). dapat menempatkan eksekusi ke jalur pengguna menjadi bagian dari instalasi modul? (bagaimana?)

  • Saya ingin terus mengembangkannya, menjalankannya untuk keperluan pengujian, memiliki versi baru, mengemasnya kembali, dan mengunggahnya kembali dengan mudah.

  • sebelum mengunggah ke cpan, dapatkah saya membagikan bundel cpan untuk kemudahan pemasangan lokal ke pengunduh dan penguji?

    # cpan <mybundle.cpanbundle

saran dihargai.

salam,

/ iaw


8
2018-01-28 15:57


asal


Jawaban:


Jika ada yang saya katakan konflik dengan Andy Lester, dengarkan dia sebagai gantinya. Dia tahu lebih banyak daripada yang pernah saya lakukan.

  • Modul :: Starter adalah cara yang bagus dan sederhana untuk menghasilkan perancah modul. Pengambilanku adalah default untuk hal semacam ini selama beberapa tahun sekarang.

  • Untuk file konfigurasi / dukungan, saya pikir Anda mungkin ingin File :: ShareDir. Mungkin layak dipertimbangkan Data :: Bagian jika itu hanya masalah membutuhkan banyak __DATA__ bagian sekalipun.

  • Anda pasti bisa menaruh skrip di bin subdirektori distribusi Anda, alat pembangunan akan meletakkannya di tempat yang tepat pada waktu pemasangan.

  • Alat build akan menangani alur kerja yang Anda gambarkan.

  • Kumpulan adalah sesuatu yang berbeda. Anda membuat distribusi dan membagikan tarball / arsip.

Jika Anda mengatur PERL5LIB dengan tepat, lalu ulangi make test, make install, make dist sepuas hati Anda. Untuk tujuan pengembangan / berbagi, banyak proyek yang melakukan pekerjaannya di github atau yang serupa - membuatnya mudah dibagikan. Mereka memiliki akun pribadi untuk tujuan bisnis juga. Sangat berguna jika Anda ingin memundurkan dan melihat di mana / ketika masalah diperkenalkan.

Jika Anda mendapatkan salinannya cpanm (mudah untuk menginstal, cukup ringan) kemudian dapat menginstal dari file tar.gz atau bahkan langsung dari repositori git. Anda juga dapat memberitahukannya untuk menginstal ke direktori lokal (lokal :: lib kompatibel - utilitas lain yang sangat berguna).

Mudah-mudahan itu cukup terkini pada 2014. Anda bisa lihat Dist :: Zilla disebutkan untuk pengembangan modul. Pemahaman saya adalah hal itu sangat berguna bagi mereka yang memiliki keluarga besar distribusi CPAN untuk dikelola. Oh - jika Anda (atau pembaca lain) tidak menyadarinya, lakukan check out autodie dan Coba :: Tiny sekitar kesalahan dan pengecualian, Moose (untuk kerangka kerja berorientasi objek berfitur lengkap) dan Melenguh (untuk versi ringan yang lebih kecil).

Saya pikir saran itu semuanya tidak kontroversial. saya menemukan cpanm jauh lebih menyenangkan daripada klien "cpan" penuh, dan Moo nampaknya cukup populer saat ini juga.


5
2018-01-28 21:50



Lihatlah Modul :: Starter dan penerusnya jauh lebih mampu (dan kompleks) Dist :: Zilla.

Apa pun yang Anda lakukan, jangan gunakan h2xs. Modul :: Starter dibuat secara khusus karena h2xs adalah alat yang tidak pantas untuk membuat distribusi.


4
2018-01-28 16:54