El libmongoc y libbson bibliotecas suelen estar disponibles en los repositorios de administración de paquetes de Distribuciones comunes de Linux y macOS a través de Homebrew.
Nota
Para Windows, se recomienda en cambio Cree las bibliotecas desde el código fuente para maximizar la compatibilidad con las herramientas locales. La creación desde el código fuente se puede automatizar mediante una herramienta de gestión de paquetes de bibliotecas desde el código fuente,como Conan o vcpkg (véase: Instalaciones multiplataforma con gestores de paquetes de bibliotecas).
Advertencia
Si instala y utiliza binarios precompilados de un empaquetador externo, es posible que la versión de las bibliotecas descritas en estas páginas de documentación (1.27) sea inferior a la de las bibliotecas. Tenga en cuenta la versión que instala al leer estas páginas.
Para obtener las versiones más actualizadas de las bibliotecas de controladores C, es preferible compilarlas desde la fuente.
Tip
Para obtener una lista y una referencia común sobre los paquetes disponibles, consulte Referencia de instalación de paquetes.
Instalaciones multiplataforma mediante administradores de paquetes de biblioteca
Varios gestores de paquetes de bibliotecas ofrecen libbson y libmongoc como paquetes instalables, incluyendo Conan y vcpkg. Esta sección detallará cómo instalarlos con estas herramientas.
Instalación mediante vcpkg
Nota
Esta página no detalla cómo empezar a usar vcpkg. Para ello, consulte Introducción a vcpkg.
En el modo de manifiesto vcpkg, agregue las bibliotecas deseadas al vcpkg.json archivo de manifiesto de su proyecto:
{ // ... "dependencies": [ // ... "mongo-c-driver" ] }
Cuando crea un proyecto CMake con integración vcpkg y tiene un archivo de manifiesto vcpkg.json, vcpkg instalará automáticamente las dependencias del proyecto antes de continuar con la fase de configuración, por lo que no se requiere trabajo manual adicional.
En el modo clásico de vcpkg, libbson y libmongoc se pueden instalar a través de los nombres libbson mongo-c-drivery, respectivamente:
$ vcpkg install mongo-c-driver
(La instalación de mongo-c-driver también instalará transitivamente libbson).
Cuando los paquetes libmongoc y libbson estén instalados y vcpkg se haya integrado correctamente en su sistema de compilación, las bibliotecas deseadas estarán disponibles para importar.
Con CMake, el paquete de archivo de configuración estándar estará disponible, así como los objetivos IMPORTED generados:
find_package(mongoc-1.0 CONFIG REQUIRED) target_link_libraries(my-application PRIVATE $<IF:$<TARGET_EXISTS:mongo::mongoc_shared>,mongo::mongoc_shared,mongo::mongoc_static>)
Nota
La $<IF:$<TARGET_EXISTS...>:...> expresión generadora grande se puede utilizar para cambiar el tipo de enlace de libmongoc según el formato disponible en el find_package() comando. libmongoc admite la compilación con tipos de biblioteca dinámicos y estáticos, pero vcpkg solo instalará uno de los dos tipos de biblioteca a la vez.
Configurar un proyecto CMake con integración vcpkg es una cuestión de configurar el archivo de cadena de herramientas CMake en el comando de configuración inicial:
$ cmake -S . -B _build -D CMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
Instalación en Linux
Los nombres y el proceso de instalación de libbson y libmongoc varían entre distribuciones, pero generalmente siguen un patrón similar.
Las siguientes distribuciones de Linux proporcionan paquetes libbson y libmongoc:
Fedora via
dnfRedHat Enterprise Linux (RHEL) 7 y más recientes y distribuciones basadas en RHEL 7 o más recientes, incluidos CentOS, Rocky Linux y AlmaLinux, a través de
yum/dnfy EPEL.Distribuciones Debian y basadas en Debian, incluidos Ubuntu y derivados de Ubuntu, a través de APT.
Tip
Para obtener una lista de los paquetes disponibles y las opciones de paquetes, consulte: Referencia de instalación de paquetes.
Sistemas basados en RedHat
En las distribuciones de Linux basadas en RedHat, incluidas Fedora, CentOS, Rocky Linux y AlmaLinux, las bibliotecas del controlador C se pueden instalar con Yum/DNF.
Nota
Para Fedora y Enterprise Linux de la versión 8 o superior, se recomienda utilizar el comando dnf en lugar de cualquier comando yum.
Importante
Excepto Fedora:
Las bibliotecas de controladores de C solo están disponibles en la versión 7 y posteriores de las respectivas distribuciones Enterprise Linux. Sin embargo, no están disponibles en los repositorios predeterminados, pero se pueden obtener habilitando los repositorios EPEL. Esto se puede hacer instalando el paquete epel-release:
# yum install epel-release
epel-release debe instalarse antes de intentar instalar las bibliotecas del controlador C (es decir, no se pueden instalar ambas en un solo comando yum install).
Para instalar solo libbson, instale el paquete libbson-devel:
# yum install libbson-devel
Para instalar el controlador de base de datos C completo (libmongoc), instale mongo-c-driver-devel:
## (This package will transitively install libbson-devel) # yum install mongo-c-driver-devel
Para comprobar qué versión está disponible, consulte https://packages.fedoraproject.org/pkgs/mongo-c-driver/mongo-c-driver-devel.
Los paquetes de desarrollo (terminados en -devel) incluyen los archivos necesarios para compilar aplicaciones con libbson y libmongoc. Para instalar solo las bibliotecas sin los archivos de desarrollo, instale los paquetes libbson o mongo-c-driver-libs.
Sistemas basados en Debian
En las distribuciones de Linux basadas en Debian, incluidos Ubuntu y derivados de Ubuntu, libbson y libmongoc están disponibles en los repositorios de distribución a través de APT y se pueden instalar como libbson-dev y libmongoc-dev, respectivamente:
## Update repository information, if necessary: # apt update
Para instalar solo libbson:
# apt install libbson-dev
Para instalar libmongoc (que también instalará libbson):
# apt install libmongoc-dev
Para verificar qué versión está disponible, ejecuta apt-cache policy libmongoc-dev.
Los paquetes de desarrollo (terminados en -dev) incluyen los archivos necesarios para compilar aplicaciones con libbson y libmongoc. Para instalar solo las bibliotecas sin los archivos de desarrollo, instale los paquetes libbson-1.0-0 o libmongoc-1.0-0.
Instalación en macOS con Homebrew
Si está utilizando un sistema macOS, las bibliotecas del controlador C (incluidas libmongoc libbsony) se pueden instalar mediante el administrador de paquetes Homebrew con el siguiente comando:
$ brew install mongo-c-driver
Nota
Homebrew no proporciona paquetes separados para libbson y libmongoc.
Tip
El administrador de paquetes Homebrew no está instalado por defecto en macOS. Para obtener información sobre cómo instalar Homebrew, consulta la página de documentación de instalación de Homebrew.