2017-11-20 141 views
6

Paketin tüm sürümlerini yazdırmak için Cabal'ı nasıl kullanıyorsunuz? cabal -v info package-name'un çalıştırılması, böyle bir şey yazdırır;Cabal'ın bir paketin tüm sürümlerini yazdırmasını nasıl sağlarsınız?

Versions available: (0.1.5.5), (0.1.5.6), (0.1.6.3), (0.1.6.4), 0.1.6.5, 
        0.2.4.2, 0.2.5.0, 0.2.6.0, 0.2.7.0 (and 26 others) 
+1

Komut satırı dostu değil, ancak Hackage'deki tüm sürümleri görebilirsiniz. Örneğin. Metin paketi için [burada] (http://hackage.haskell.org/package/text) için. Bu yeterince iyi mi? –

+0

Evet, bu yardımcı olur. Teşekkürler! –

cevap

1

cabal list şu anda sadece tam eşlemeyi alt dize eşleştirme destekler, ancak değil çünkü text paketi için

cabal list --simple-output text | awk '$1=="text" { print $2 }' 

awk yoluyla post-processing gerekli olan tüm.

+0

"awk" in bu kullanımı nasıl kullanılır? Paket adını sonuçlardan düzeltir ve yalnızca sürümlerini görüntüler (bu hoş bir ayardır, ancak gerekli değildir). –

+2

@ JindřichMynarz Eğer 'awk' addendum'u olmadan çıktıya bakarsanız, 'metinler 0.0.0' ve' text-fermuar 0.1' gibi pek çok “non-'text” sonuç göreceksiniz. . 'Awk' komutu aynı anda bunları ortadan kaldırır ve başlangıçta paket adını ortadan kaldırır. –

+0

Ah, doğru. Açıklama için teşekkürler! –

1

bunu yapmak için komplo nasıl bilmiyorum ama bilgi en azından mevcuttur: durumunda birçok sürümleri mevcuttur. Paket için Hackage sayfasını kontrol edin; bu tipik olarak http://hackage.haskell.org/package/<package-name>'dur. Paket açıklamasının hemen ardından mevcut sürümlerin eksiksiz bir listesini içerecektir. Bunu gerçekleştirmenin dolaylı yolu, ör.,