Estoy tratando de instalar a ack
través de, apt
pero parece que ya no está disponible en los repositorios. Ambos:
sudo apt install ack
sudo apt install ack-grep
dar el siguiente error:
E: Package 'ack-grep' has no installation candidate
¿Ya no está disponible en los repositorios 17.10?
sudo apt update
.artful
que no está en la lista, ¿correcto? packages.ubuntu.com/search?suite=artful&keywords=ackRespuestas:
Ack tiene una falla de prueba en Ubuntu 17.10 Artful y ha sido excluido de Ubuntu hasta que pasa. Perl se actualiza en Artful y la nueva versión de ack no es compatible con el nuevo Perl. La nueva versión no pasa todas sus pruebas. La falla de la prueba es causada por problemas con el marco de prueba que se ejecuta en Ubuntu (incluso cuando funciona bien en Debian) . Pronto se lanzará una nueva versión que pase .
Mientras tanto, una solución alternativa es instalarlo a través de CPAN como se sugiere en la página de inicio de ack . Si aún no tiene instalado CPAN, primero debe instalarlo:
Luego puede usarlo para instalar ack:
Lo construirá y probará, por lo que tomará aproximadamente 2 minutos, pero una vez hecho esto, estará en su camino en
/usr/local/bin/ack
.Me gusta esta opción de instalación porque usa repositorios apt y cpan estándar. Utiliza bibliotecas Perl que se actualizarán mediante herramientas automatizadas. Se puede implementar fácilmente en herramientas automatizadas como Ansible.
fuente
sudo cpanm App::Ack
.Lamentablemente
ack
no está en los repositorios 17.10. Una solución alternativa es instalarlo manualmente según las instrucciones en su sitio web .Esto es lo que hice:
fuente
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"
Los paquetes que no pasan las pruebas automáticas de paquetes instalados de Ubuntu no se incluyen en una versión, al menos aquellos que no provienen del archivo del universo (que se importa regularmente y se automatiza desde Debian Unstable).
Debido a un cambio durante el ciclo de lanzamiento ingenioso de Ubuntu 17.10, algo rompió el autopkgtest de ack en Ubuntu y, por lo tanto, detuvo su inclusión en los lanzamientos de Ubuntu. Ni siquiera puede encontrarlo en la instantánea de desarrollo actual
bionic
, pero puede instalarlo si agrega una líneabionic-proposed
a susources.list
.Todavía no está claro, qué fue exactamente ese cambio, respectivamente, la razón (tal vez un error en la infraestructura de prueba automática de Ubuntu) y cuál es el desencadenante. (Tal vez el cambio a Perl 5.26 exhibió un problema en la infraestructura de prueba automática de Ubuntu).
Sin embargo, lo que está claro es que este problema es específico de ubuntu ya que la prueba automática de ack en Debian pasa sin ningún problema. Y ejecutar autopkgtest localmente en una instantánea de desarrollo de Ubuntu 18.04 Bionic tampoco exhibe estas fallas de prueba . (Y parece que se basa en Ubuntu. Y el mismo conjunto de pruebas también se ejecuta en tiempo de compilación, y si no se aprueba, el paquete no se compilaría, lo que se considera un problema mucho más grave).
Otro indicio de que el problema está oculto en algún lugar de la infraestructura de prueba automática de Ubuntu es el hecho de que la mayoría de las fallas de prueba consideran su entrada repentinamente como STDIN en lugar de los archivos esperados .
Cualquier sugerencia sobre las razones subyacentes de estas extrañas fallas de prueba específicas de ubuntu-autopkgtest es muy apreciada en el informe de error de launchpad correspondiente o en el informe de error ascendente correspondiente .
fuente
Como @muru indicó en los comentarios anteriores, el paquete se ha eliminado ya que está roto en 17.10, así que sí, no
ack
en los repositorios 17.10 por ahora.Supongo que debería vigilar https://packages.ubuntu.com/search?suite=artful&keywords=ack para saber cuándo volverá a estar disponible.
fuente
Pude instalar el paquete Ubuntu 18.04 en mi caja Ubuntu 17.10:
Si el
dpkg
comando falla para usted, probablemente sea porque le falta alguna dependencia que ya tengo. Intente conapt install
cualquier dependencia faltante y luego ejecute ladpkg
línea nuevamente.Me gusta más este enfoque que usar CPAN, porque APT / dpkg aún puede ver que este paquete está instalado y podrá actualizarlo más tarde una vez que Ubuntu solucione su situación de compilación.
(Gracias a Axel Beckert por publicar el enlace al informe de error de Launchpad, que es de donde saqué esta idea).
fuente