Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
C ドライバー
/ /

方法:ソースから libbson/libmongoc をインストール

重要

このページでは、インストールするコンポーネントを正常に構成してビルドできることを前提としています。この機能について詳しくは、 の「ソースからの C ドライバー ライブラリの構築」チュートリアル ページで詳しく説明しています。 このチュートリアルでは、ソースをビルドし、最小限のインストールを動作させる方法について説明しますが、このページでは、ソース ビルドなどから mongo-c-driverライブラリをインストールするためのニュアンスと利用可能なオプションに関する詳しいガイダンスを提供します。

mongo-c-driver uses CMake to generate its installation rules, and installs a variety of artifacts of interest. For integration with downstream programs, the config file packages and pkg-config files would be of particular interest.

CMax または pkg-config を使用してlibbsonまたはlibmongocをインポートする場合は、それぞれのツールがパッケージ メタデータを検索する方法を確認すると便利です。

CSpec は、環境とコンフィギュレーションタイムの CSpec 設定の両方から読み取られたプレフィックスのセットに基づいて検索パスのセットを構築します。

特に、 $PATH環境変数は、システムの標準プレフィックスを構築するために使用されます。 $PATH内の各ディレクトリDについて:

  1. Dの最終パス コンポーネントが " bin " または " sbin " の場合、 DDの親パスに置き換えられます。

  2. 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 変数から取得されます。)

Tip

For detailed information on package lookup, refer to CMake's search procedure section for full details.

pkg-configコマンドライン ツールは、デフォルトではpkg-configツール自体のパスを基準にして、さまざまなディレクトリ内の.pcファイルを検索します。 pkg-configがデフォルトで検索するディレクトリのリストを取得するには、次のコマンドを使用します。

デフォルトで検索されるディレクトリを pkg-config に質問する
$ pkg-config "pkg-config" --variable="pc_path"

$PKG_CONFIG_PATH環境変数を使用して追加のディレクトリを指定できます。 このようなパスは、デフォルトのpkg-configパスより前に検索されます。

Windows では、レジストリキーHKCU\Software\pkgconfig\PKG_CONFIG_PATHHKLM\Software\pkgconfig\PKG_CONFIG_PATHを使用して、 pkg-configの追加の検索ディレクトリを指定できます。 ユーザー固有の検索ディレクトリを永続化するには、 HKCU\…キーにディレクトリを追加することをおすすめします。

Tip

If you have man and pkg-config installed on your system, lookup procedures are detailed in man 1 pkg-config. This documentation may also be found at many man page archives on the web, such as pkg-config at linux.die.net.

ユーザー ローカル インストールのディレクトリを$PREFIXと呼び出します。 このディレクトリへのパスの選択は無作為ですが、考慮すべき推奨事項がいくつかあります。 $PREFIXディレクトリは、ダウンストリーム プロジェクトを構成するときに CMax またはpkg-configに指定するパスです。

カスタムビルドのmongo-c-driverライブラリは、ユーザー アカウントに特定の権限のないファイルシステムのロケーションにインストールすることをお勧めします。

他の Unix 系システムとは異なり、macOS ではユーザーローカルのパッケージインストール用の特定のディレクトリはなく、このようなディレクトリを作成するかどうかは各ユーザーが自分で作成する必要があります。

使用するディレクトリの選択は基本的に任意です。 ユーザーごとのインストールの場合、唯一の要件は、インストールを実行および使用するユーザーがディレクトリに書込み可能であることです。

For the purposes of uniformity with other Unix variants, this guide will lightly recommend using $HOME/.local as a user-local installation prefix. This is based on the behavior specified by the XDG base directory specifications and the systemd file-hierarchy common on Linux and various BSDs, but it is not a standard on other platforms.

On Linux and BSD systems, it is common to use the $HOME/.local directory as the prefix for user-specific package installations. This convention originates in the XDG base directory specification and the systemd file-hierarchy

このガイドでは、ユーザー ローカル インストールのプレフィックスとして$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

ライブラリを正常に構成およびビルドし、適切な$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によって指定された内容を上書きします。

戻る

ハウツーガイド

項目一覧