方法:ソースから libbson/libmongoc をインストール
重要
このページでは、インストールするコンポーネントを正常に構成してビルドできることを前提としています。この機能について詳しくは、 の「ソースからの C ドライバー ライブラリの構築」チュートリアル ページで詳しく説明しています。 このチュートリアルでは、ソースをビルドし、最小限のインストールを動作させる方法について説明しますが、このページでは、ソース ビルドなどから mongo-c-driver
ライブラリをインストールするためのニュアンスと利用可能なオプションに関する詳しいガイダンスを提供します。
mongo-c-driver
は、CMax を使用してインストール ルールを生成し、さまざまな アーティファクト をインストールします。 下流へのプログラムとの統合用の、 構成ファイル パッケージ および pkg-config ファイルは特に重要です。
CMax または pkg-config を使用してlibbson
またはlibmongoc
をインポートする場合は、それぞれのツールがパッケージ メタデータを検索する方法を確認すると便利です。
CSpec は、環境とコンフィギュレーションタイムの CSpec 設定の両方から読み取られたプレフィックスのセットに基づいて検索パスのセットを構築します。
特に、 $PATH
環境変数は、システムの標準プレフィックスを構築するために使用されます。 $PATH
内の各ディレクトリD
について:
D
の最終パス コンポーネントが "bin
" または "sbin
" の場合、D
はD
の親パスに置き換えられます。D
は、検索プレフィックスとして追加されます。
これにより、 /usr/bin
や/usr/local/bin
など、 $PATH
上の一般的な Unix 固有のディレクトリでは、CSpec がそれぞれ/usr
と/usr/local
で検索し、それぞれが プレフィックスになります。 $PATH
にディレクトリ$HOME/.local/bin
がある場合は、 $HOME/.local
ディレクトリも検索パスに追加されます。 $PATH
で$HOME/.local/bin
を使用することは、多くの Unix shell でますます一般的なパターンになっています。インストールに 非特権ユーザーローカルインストール プレフィックスの使用(推奨)を使用する場合は、 が推奨されます。
さらに、 CMAKE_PREFIX_PATH
環境変数はパスのリストを作成するために使用されます。 デフォルトでは、この環境変数は定義されていません。
Windowsでは、 %ProgramW6432%
、 %ProgramFiles%
、 %ProgramFiles(x86)%
、 %SystemDrive%\\Program Files
、 %SystemDrive%\\Program Files (x86)
のディレクトリも追加されます。 (これらは、CSpec のプラットフォーム検出中に定義されるCMAKE_SYSTEM_PREFIX_PATH
CSpec 変数から取得されます。)
pkg-config
コマンドライン ツールは、デフォルトではpkg-config
ツール自体のパスを基準にして、さまざまなディレクトリ内の.pc
ファイルを検索します。 pkg-config
がデフォルトで検索するディレクトリのリストを取得するには、次のコマンドを使用します。
$ pkg-config "pkg-config" --variable="pc_path"
$PKG_CONFIG_PATH
環境変数を使用して追加のディレクトリを指定できます。 このようなパスは、デフォルトのpkg-config
パスより前に検索されます。
Windows では、レジストリキーHKCU\Software\pkgconfig\PKG_CONFIG_PATH
とHKLM\Software\pkgconfig\PKG_CONFIG_PATH
を使用して、 pkg-config
の追加の検索ディレクトリを指定できます。 ユーザー固有の検索ディレクトリを永続化するには、 HKCU\…
キーにディレクトリを追加することをおすすめします。
Tip
以下も参照してください。
システムにman
とpkg-config
がインストールされている場合、検索手順の詳細についてはman 1 pkg-config
を参照してください。 このドキュメントは 、linux.ie.net の pkg-config など、ウェブ上の多くのマニュアル ページ アーカイブでも見つかる場合があります。
プレフィックスの選択
ユーザー ローカル インストールのディレクトリを$PREFIX
と呼び出します。 このディレクトリへのパスの選択は無作為ですが、考慮すべき推奨事項がいくつかあります。 $PREFIX
ディレクトリは、ダウンストリーム プロジェクトを構成するときに CMax またはpkg-config
に指定するパスです。
特権のないユーザーローカルインストールプレフィックスの使用(推奨)
カスタムビルドのmongo-c-driver
ライブラリは、ユーザー アカウントに特定の権限のないファイルシステムのロケーションにインストールすることをお勧めします。
他の Unix 系システムとは異なり、macOS ではユーザーローカルのパッケージインストール用の特定のディレクトリはなく、このようなディレクトリを作成するかどうかは各ユーザーが自分で作成する必要があります。
使用するディレクトリの選択は基本的に任意です。 ユーザーごとのインストールの場合、唯一の要件は、インストールを実行および使用するユーザーがディレクトリに書込み可能であることです。
他の Unix バリアントとの統一性を高めるために、このガイドではユーザー ローカル インストールのプレフィックスとして$HOME/.local
を使用することを簡単に推奨します。 これは、 XDG ベース ディレクトリ によって指定される動作に基づいています。 仕様 と systemd ファイル階層 Linux およびさまざまな BSD では一般的ですが、他のプラットフォームでは標準ではありません。
Linux と BSD システムでは、ユーザー固有のパッケージ インストールのプレフィックスとして$HOME/.local
ディレクトリを使用するのが一般的です。 この規則は、 XDG ベース ディレクトリ に基づきます 仕様 と systemd ファイル階層
このガイドでは、ユーザー ローカル インストールのプレフィックスとして$HOME/.local
を使用することを推奨しています。
Windows では、 %UserProfile%\\AppData\\Local
にユーザー ローカル ファイル専用のディレクトリが存在します。 これを参照するには、 %LocalAppData%
環境変数を展開します。 ( %AppData%
環境変数は使用しないでください。)
このディレクトリは存在しますが、目的に適した所定の構造はありません。 ユーザーローカルインストールのプレフィックスの選択は任意です。 このガイドでは、ユーザーの自宅ディレクトリ内に追加のファイルとディレクトリを直接作成することは強くおすすめしません。
手動でインストールされたコンポーネントのプレフィックスとして、 %LocalAppData%\\MongoDB
を使用することを検討してください。
システム全体のインストール プレフィックスの選択
すべてのユーザーが表示できるディレクトリにmongo-c-driver
ライブラリをインストールする場合は、いくつかの標準オプションがあります。
/usr/local/
のインストール$PREFIX
を使用することがすべての Unix プラットフォームで主な推奨事項ですが、これは一部のぼかしたシステムによって異なる場合があります。
警告
プレフィックスとして、 /usr/
も/
(ルート ディレクトリ)も使用しないでください。これらのディレクトリは、システムによって慎重に管理されるように設計されています。 The /usr/local
directory is intentionally reserved for the purpose of unmanaged software installation.
あるいは、 /opt/mongo-c-driver/
などの簡単に削除または再配置できる別のディレクトリへのインストールを検討してください。 これは簡単に識別可能であり、明示的にオプトインしないとシステム上の他のソフトウェアとやり取りすることはありません。
警告
Windows にシステム全体のソフトウェアを手動でインストールすることは絶対に推奨されません。 代わりに、ユーザーごとの非特権インストール プレフィックスを使用することをおすすめします。
Windows でシステム全体のインストールを実行する場合は、読み取りと書き込みに管理特権が必要ない、 %ProgramData%
の名前付きサブディレクトリを使用することをおすすめします。 (例: %ProgramData%\\mongo-c-driver
)
CMax を使用したインストール
ライブラリを正常に構成およびビルドし、適切な$PREFIX
を選択したら、ビルドされた結果をインストールできます。 ビルドを実行したディレクトリを示す名前を$BUILD
に設定します(これは他の多くのファイルとともにCMakeCache.txt
を含むディレクトリです)。
コマンドラインから、選択した$PREFIX
へのインストールは、 cmake --install subcommand
オプションを使用して CSpec 経由で実行できます。
$ cmake --install "$BUILD" --prefix "$PREFIX"
重要
マルチ構成ジェネレーター(例: Visual Studio、Xcode)を使用中にライブラリを構成した場合は、 --config
コマンドライン オプションも渡す必要があり、インストールするビルド構成の値を渡す必要があります。 インストールに使用される--config
の選択された値には、以前に同じ--config
値を使用してそのディレクトリ内でcmake --build
を実行している必要があります。
注意
システム全体のインストール$PREFIX
を使用する場合、特権ユーザーとしてインストールを実行する必要がある場合があります。 特権ユーザーとしてインストールを実行できない、または実行したくない場合は、代わりにユーザーごとのインストール プレフィックスを使用する必要があります。
Tip
と--prefix
コマンドライン オプションをcmake --install
で使用する場合、 CMAKE_INSTALL_PREFIX
を設定する必要はありません。 --prefix
オプションは、プロジェクトの構成時にCMAKE_INSTALL_PREFIX
によって指定された内容を上書きします。