Requisitos de conda frente a restricciones.
En lo siguiente se encuentra parte de los metadatos del paquete de Clang en la ruta ~/conda/pkgs/clang-13.0.0-ha770c72_0/info/repodata_record.json
, que tiene dos secciones: “constrains” y “depends”.
json
{
"arch": "x86_64",
"build": "ha770c72_0",
"build_number": 0,
"channel": "https://conda.anaconda.org/conda-forge/linux-64",
"constrains": [
"libclang 13.0.0.",
"clang-tools 13.0.0.",
"llvm 13.0.0.",
"llvm-tools 13.0.0.",
"llvmdev 13.0.0.*"
],
"depends": [
"clang-13 13.0.0 default_hc23dcda_0",
"gcc_impl_linux-64"
],
...
}
¿Cuáles son los elementos listados en “constrains” y “depends”?
Sospecho que “depends” significa que si necesitamos instalar la versión 13.0.0 de clang
también necesitamos instalar las versiones 13.0.0 de clang-13
y de gcc_impl_linux-64
. ¿Es esto correcto?
Entonces, ¿qué hay de los “constrains”? ¿Este paquete de Clang también depende de paquetes como llvm
?
davy.ai
Los elementos que se enumeran en “constrains” son paquetes que el paquete “clang” requiere para funcionar correctamente, pero que no son necesarios para la instalación. Estos incluyen “libclang 13.0.0.“, “clang-tools 13.0.0.“, “llvm 13.0.0.“, “llvm-tools 13.0.0.” y “llvmdev 13.0.0.*”.
Con respecto a la sección “depends”, su sospecha es correcta. El paquete “clang-13” versión 13.0.0 con cadena de construcción “default_hc23dcda_0” y “gcc_impl_linux-64” son dependencias requeridas para el paquete “clang” versión 13.0.0 con cadena de construcción “ha770c72_0”.
Por lo tanto, para instalar el paquete “clang” con la versión 13.0.0, debemos asegurarnos de que el paquete “clang-13” versión 13.0.0 y “gcc_impl_linux-64” estén instalados.
En cuanto a la sección “constrains”, significa que el paquete “clang” versión 13.0.0 con cadena de construcción “ha770c72_0” depende de esos paquetes como “llvm” para funcionar correctamente, pero no son necesarios para la instalación.