Ich versuche, ack
über zu installieren, apt
aber es scheint, dass es in den Repos nicht mehr verfügbar ist. Beide:
sudo apt install ack
sudo apt install ack-grep
Geben Sie den folgenden Fehler ein:
E: Package 'ack-grep' has no installation candidate
Ist es in den 17.10-Repositories nicht mehr verfügbar?
sudo apt update
.artful
nicht aufgelistet ist, richtig? packages.ubuntu.com/search?suite=artful&keywords=ackAntworten:
Ack hat einen Testfehler in Ubuntu 17.10 Artful und es wurde von Ubuntu ausgeschlossen, bis es bestanden hat. Perl wird auf Artful aktualisiert und die alte ack-Version wird von der neuen Perl-Version nicht unterstützt. Die neue Version besteht nicht alle Tests. Der Testfehler wird durch Probleme mit dem Testframework verursacht, das unter Ubuntu ausgeführt wird (auch wenn es unter Debian einwandfrei funktioniert). Eine neue Version, die bestanden wird, wird in Kürze veröffentlicht .
In der Zwischenzeit besteht eine Problemumgehung darin, es über CPAN zu installieren, wie auf der ack-Homepage vorgeschlagen . Wenn Sie CPAN noch nicht installiert haben, müssen Sie es zuerst installieren:
Dann können Sie es benutzen, um ack zu installieren:
Es wird gebaut und getestet, also dauert es ungefähr 2 Minuten, aber nachdem es fertig ist, wird es in deinem Pfad sein
/usr/local/bin/ack
.Diese Installationsoption gefällt mir, weil sie Standard-Repositorys für apt und cpan verwendet. Es werden Perl-Bibliotheken verwendet, die durch automatisierte Tools aktualisiert werden. Es kann einfach in automatisierten Tools wie Ansible implementiert werden.
quelle
sudo cpanm App::Ack
.Traurig
ack
ist nicht in 17.10 Repositories. Eine Problemumgehung besteht darin, es manuell gemäß den Anweisungen auf der Website zu installieren .Folgendes habe ich getan:
quelle
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"
Pakete, die den automatischen Pakettest von Ubuntu im installierten Zustand nicht bestehen, sind nicht in einer Version enthalten, zumindest nicht aus dem Universumsarchiv (das regelmäßig importiert und aus Debian Unstable automatisiert wird).
Aufgrund einer Änderung während des Ubuntu 17.10 Artful Release-Zyklus hat etwas den Autopkgtest von ack in Ubuntu gebrochen und daher die Aufnahme von ack in Ubuntu-Releases gestoppt. Sie können es nicht einmal im aktuellen Entwicklungs-Snapshot finden
bionic
, aber Sie können es installieren, wenn Sie eine Zeile für hinzufügenbionic-proposed
, um Ihresources.list
.Es ist immer noch unklar, was genau diese Änderung war bzw. was der Grund (möglicherweise ein Fehler in Ubuntus Autopkgtest-Infrastruktur) und was der Auslöser ist. (Möglicherweise zeigte der Wechsel zu Perl 5.26 ein Problem in der Autopkgtest-Infrastruktur von Ubuntu.)
Es ist jedoch klar, dass dieses Problem ubuntu-spezifisch ist, da der Autopkgtest von ack in Debian problemlos funktioniert . Und läuft autopkgtest lokal auf einem Entwicklungs - Schnappschuss von Ubuntu 18.04 Bionic nicht diese Testfehler nicht aufweist entweder. (Und es scheint auf Ubuntu aufzubauen. Und die gleiche Testsuite wird auch zur Erstellungszeit ausgeführt, und wenn sie nicht bestanden würde, würde das Paket nicht erstellt, was als viel schwerwiegenderes Problem angesehen wird.)
Ein weiterer Hinweis darauf, dass das Problem irgendwo in der Autopkgtest-Infrastruktur von Ubuntu verborgen ist, ist die Tatsache, dass die meisten Testfehler ihre Eingabe plötzlich als STDIN anstelle der erwarteten Dateien betrachten .
Jeder Hinweis auf die zugrunde liegenden Gründe für diese seltsamen Ubuntu-Autopkgtest-spezifischen Testfehler wird entweder im entsprechenden Launchpad-Fehlerbericht oder im entsprechenden Upstream-Fehlerbericht sehr geschätzt .
quelle
Wie @muru in den Kommentaren oben angegeben hat, wurde das Paket entfernt, seit es in 17.10 kaputt ist, also ja, nein
ack
in den 17.10-Repositories.Ich schätze, ich sollte https://packages.ubuntu.com/search?suite=artful&keywords=ack im Auge behalten, um zu erfahren, wann es wieder verfügbar sein wird.
quelle
Ich konnte das Ubuntu 18.04-Paket auf meiner Ubuntu 17.10-Box installieren:
Wenn der
dpkg
Befehl für Sie fehlschlägt, liegt das wahrscheinlich daran, dass Ihnen eine Abhängigkeit fehlt, die ich bereits habe. Versuchen Sie es mitapt install
fehlenden Abhängigkeiten und führen Sie dann die ausdpkg
Zeile erneut aus.Ich mag diesen Ansatz besser als die Verwendung von CPAN, da APT / dpkg immer noch sieht, dass dieses Paket installiert ist und es später aktualisieren kann, sobald Ubuntu seine Build-Situation geklärt hat.
(Vielen Dank, Axel Beckert, für den Link zum Launchpad-Fehlerbericht, von dem ich diese Idee habe.)
quelle