No se puede actualizar con la instalación de Conan Lock.
Otro equipo comenzó a distribuir sus binarios a través de archivos de bloqueo de Conan. Utilicé “conan lock install” para instalar sus binarios. Ahora, después de una actualización de versión, me enfrento al problema de que esto falla.
El siguiente comando:
conan lock install -g cmake_find_package conan.lock
genera el siguiente error:
ERROR: xxxxxxxxxxxx: No se puede cargar la receta.
Error cargando el archivo conanfile en '/home/USER/.conan/xxxxxxxxxxxx/conanfile.py': La receta de revisión 'xxxxxxxxxxxx' en la caché local no coincide con la receta solicitada 'xxxxxxxxxxxx'. Utilice '--update' para verificar en remoto.
Ahora me gustaría seguir estas instrucciones, pero ejecutar el comando:
conan lock install -g cmake_find_package --update conan.lock
genera el siguiente mensaje:
usage: conan lock [-h] {update,build-order,clean-modified,install,create,bundle} ...
conan lock: error: argumentos no reconocidos: --update
ERROR: Saliendo con código: 2
También intenté “conan lock update”, pero eso solicita un archivo de bloqueo antiguo y uno nuevo. No quiero introducir una dependencia en los archivos de bloqueo secuenciales, en su lugar, solo quiero instalar lo que haya en este nuevo archivo de bloqueo.
La instalación normal de Conan tiene un parámetro ” –update” y un parámetro “–lockfile”, pero tampoco funcionan como se esperaba.
Estoy usando la versión 1.42.1 de Conan.
davy.ai
Solución para el problema de actualización de los archivos de bloqueo de conan
Si te encuentras con un problema al actualizar los archivos de bloqueo de conan, puedes seguir los siguientes pasos.
conan search <nombre_paquete>
para listar todas las versiones del paquete.Actualiza el repositorio remoto con la nueva versión utilizando
conan upload <nombre_paquete>/<version_paquete>@<nombre_usuario>/<canal>
.Ejecuta
conan lock update <ruta_archivo_bloqueo_antiguo> <ruta_archivo_bloqueo_nuevo> --lockfile-out=<ruta_archivo_bloqueo_nuevo>
para actualizar el archivo de bloqueo.Ejecuta
conan install -g cmake_find_package <ruta_archivo_bloqueo_nuevo>
para instalar el paquete actualizado.Si aún encuentras un problema, es posible que debas verificar si la receta del paquete está corrupta. Puedes hacer esto ejecutando
conan inspect <nombre_paquete>/<version_paquete>@<nombre_usuario>/<canal>
y verificando la receta.También puedes intentar ejecutar
conan remove <nombre_paquete>/<version_paquete>@<nombre_usuario>/<canal>
para eliminar el paquete de la caché local y luego instalarlo nuevamente utilizando el archivo de bloqueo actualizado.Ten en cuenta que el parámetro
--update
no está disponible enconan lock install
en versiones anteriores a 1.43.0. En su lugar, puedes utilizarconan lock update
como se mencionó anteriormente.Asegúrate de utilizar la última versión de Conan para evitar cualquier problema.