Saya mencoba menginstal ack
melalui apt
tetapi tampaknya tidak lagi tersedia di repo. Kedua:
sudo apt install ack
sudo apt install ack-grep
berikan kesalahan berikut:
E: Package 'ack-grep' has no installation candidate
Apakah itu tidak lagi tersedia di repositori 17.10?
sudo apt update
.artful
tidak terdaftar, benar? packages.ubuntu.com/search?suite=artful&keywords=ackJawaban:
Ack memiliki kegagalan pengujian di Ubuntu 17.10 Artful dan telah dikeluarkan dari Ubuntu sampai lulus. Perl ditingkatkan pada Artful dan versi ack lama tidak didukung oleh Perl baru. Versi baru tidak lulus semua tesnya. Kegagalan pengujian disebabkan oleh masalah dengan kerangka pengujian yang berjalan di Ubuntu (bahkan ketika berfungsi dengan baik di Debian.) Versi baru yang lewat akan segera dirilis .
Sementara itu, solusinya adalah menginstalnya melalui CPAN seperti yang disarankan di beranda ack . Jika Anda belum menginstal CPAN, Anda harus menginstalnya terlebih dahulu:
Maka Anda dapat menggunakannya untuk menginstal ack:
Ini akan membangun dan mengujinya, sehingga dibutuhkan sekitar 2 menit, tetapi setelah selesai akan berada di jalur Anda di
/usr/local/bin/ack
.Saya suka opsi instalasi ini karena menggunakan repositori apt dan cpan standar. Ini menggunakan perpustakaan Perl yang akan ditingkatkan oleh alat otomatis. Itu dapat dengan mudah diimplementasikan dalam alat otomatis seperti Ansible.
sumber
sudo cpanm App::Ack
.Sayangnya
ack
tidak dalam repositori 17,10. Solusinya adalah menginstalnya secara manual sesuai instruksi di situs webnya .Inilah yang saya lakukan:
sumber
sudo su
:ack="/usr/local/bin/ack" && curl -s https://beyondgrep.com/ack-2.18-single-file | sudo tee "$ack" > /dev/null && sudo chmod 0755 "$ack"
Paket yang gagal pengujian paket otomatis yang diinstal Ubuntu tidak termasuk dalam rilis, setidaknya yang tidak dari arsip semesta (yang diimpor secara teratur dan otomatis dari Debian Unstable).
Karena perubahan selama siklus Ubuntu 17.10 Artful Release, sesuatu merusak autopkgtest ack di Ubuntu dan karenanya menghentikan ack agar tidak dimasukkan dalam rilis Ubuntu. Anda bahkan tidak dapat menemukannya dalam snapshot perkembangan saat ini
bionic
, tetapi Anda dapat menginstalnya jika Anda menambahkan baris untukbionic-proposed
untuk Andasources.list
.Masih belum jelas, apa sebenarnya perubahan itu, masing-masing apa alasannya (mungkin bug dalam infrastruktur autopkgtest Ubuntu) dan apa pemicunya. (Mungkin beralih ke Perl 5.26 menunjukkan masalah pada infrastruktur autopkgtest Ubuntu.)
Yang jelas adalah bahwa masalah ini khusus untuk Ubuntu karena autopkgtest ack di Debian lolos tanpa masalah. Dan menjalankan autopkgtest secara lokal pada snapshot pengembangan Ubuntu 18.04 Bionic juga tidak menunjukkan kegagalan pengujian ini . (Dan tampaknya dibangun di Ubuntu. Dan test suite yang sama dijalankan pada waktu build juga, dan jika tidak lulus, paket tidak akan membangun yang dianggap sebagai masalah yang jauh lebih parah.)
Petunjuk lain bahwa masalah ini tersembunyi di suatu tempat di infrastuktur autopkgtest Ubuntu adalah kenyataan bahwa sebagian besar kegagalan pengujian menganggap input mereka tiba-tiba sebagai STDIN dan bukan file yang diharapkan .
Setiap petunjuk tentang alasan yang mendasari kegagalan pengujian khusus ubuntu-autopkgtest yang aneh ini sangat dihargai baik dalam laporan bug launchpad yang sesuai atau dalam laporan bug upstream yang sesuai .
sumber
Seperti @muru ditunjukkan dalam komentar di atas paket telah dihapus karena rusak di 17.10, jadi ya, tidak
ack
di repositori 17.10 untuk saat ini.Kira saya harus mengawasi https://packages.ubuntu.com/search?suite=artful&keywords=ack untuk mengetahui kapan itu akan tersedia lagi.
sumber
Saya dapat menginstal paket Ubuntu 18.04 pada kotak Ubuntu 17.10 saya:
Jika
dpkg
perintah gagal untuk Anda, itu mungkin karena Anda kehilangan beberapa ketergantungan yang sudah saya miliki. Cobalahapt install
setiap dependensi yang hilang dan kemudian jalankan kembalidpkg
baris tersebut.Saya menyukai pendekatan ini lebih baik daripada menggunakan CPAN, karena APT / dpkg masih dapat melihat paket ini diinstal dan akan dapat memutakhirkannya nanti begitu Ubuntu membuat situasi build mereka beres.
(Terima kasih Axel Beckert untuk memposting tautan ke laporan bug Launchpad, yang merupakan tempat saya mendapatkan ide ini.)
sumber