MATLAB パッケージおよびパッケージの依存関係
R2026b他のユーザーと共有する準備ができた MATLAB® コードがある場合は、パッケージを使用してコードをバンドルして配布できます。MATLAB パッケージ マネージャーは、パッケージの作成、パッケージの依存関係の管理、およびエンド ユーザーとのパッケージの共有をプログラムによって行うための方法です。
パッケージの作成は、多くの場合、開発プロセスの最終ステップの 1 つです。推奨される完全なワークフローについては、Develop and Share Software in MATLABを参照してください。
代わりに、MATLAB、Simulink®、またはその他の MathWorks® 製品またはサポート パッケージをインストールする場合は、非対話形式でのサポート パッケージのインストールを参照してください。
パッケージを使用する理由
パッケージは、配布用にコードをバンドルするのに便利です。MATLAB パッケージ マネージャーは、パッケージの作成と配布を行うための合理化されたシステムを提供し、堅牢な依存関係管理機能を備えています。MATLAB パッケージ マネージャーを使用することで、コードをパッケージにバンドルし、パッケージ リポジトリを介して配布できます。エンド ユーザーはこれらのパッケージ リポジトリでパッケージを検索してインストールできます。エンド ユーザーがリポジトリからパッケージをダウンロードすると、MATLAB パッケージ マネージャーが必要な依存関係をすべてダウンロードします。
TOML ベースのプロジェクトでパッケージ コードを開発した場合は、対話的にパッケージを作成することもできます。プロジェクトは、開発作業用の構造化された環境を提供し、パス管理、環境の一貫性、依存関係の自動分析などの系統立ったサポートを備えています。詳細については、プロジェクトの作成を参照してください。既存のプロジェクトを TOML 形式に変換する方法については、Convert Existing Projects to TOML Formatを参照してください。 (R2026b 以降)
パッケージとは
パッケージは、MATLAB コード、関連ファイル、およびパッケージ ID と依存関係を定義するパッケージ定義ファイルのコレクションです。パッケージの目的は、コードをコンパートメント化して、意図した機能を維持しながらコードを共有できるようにすることです。R2026b 以降、パッケージは、以前はツールボックス ファイルと呼ばれていた単一のインストール可能なパッケージ ファイル (.mltbx) またはフォルダーベースのパッケージとしてビルドできます。パッケージを対話的にビルドする方法については、Interactively Create and Share Packagesを参照してください。フォルダー ベースのパッケージをプログラムによってビルドする方法については、Programmatically Turn Your Code Into a Packageを参照してください。

パッケージは、パッケージのファイルと "メンバー フォルダー" が含まれる "ルート フォルダー" で構成されます。ルート フォルダーには resources フォルダーも含まれており、その中に mpackage.json という名前のパッケージ定義ファイルが含まれています。
パッケージ定義ファイルには、識別情報、説明情報、およびパッケージのプロパティが含まれています。識別情報には、パッケージ名、バージョン、および一意の識別子を含めることができます。説明情報には、パッケージの目的、プロバイダー、MATLAB リリースの互換性の概要を含めることができます。パッケージのプロパティには、パッケージのステータス、メンバー フォルダー、および依存関係を含めることができます。
パッケージの定義後、パッケージ ファイル (.mltbx) をビルドすると、MATLAB パッケージ マネージャーはパッケージのルート フォルダーとその内容を単一の共有可能なファイルに保存します。エンド ユーザーはこのファイルをダブルクリックしてインストールできます。
パッケージをインストールすると、MATLAB パッケージ マネージャーは、コード、サポート ファイル、および依存するその他のパッケージをすべてインストールします。また、MATLAB パッケージ マネージャーはルート フォルダーおよびすべてのメンバー フォルダーをパスに追加します。パッケージの検索とインストールについては、プログラムによるパッケージの検索とインストールを参照してください。
自動的なパッケージの依存関係管理
一部のパッケージでは、別のパッケージに含まれるコードが使用されます。このようなパッケージはその別のパッケージに "依存" しており、その別のパッケージは "依存関係" と呼ばれます。MATLAB パッケージ マネージャーは、堅牢な依存関係管理の一環として、パッケージをインストールする際に、必要なすべての依存関係もインストールされているかを確認します。次の図では、パッケージ A はパッケージ B に依存し、パッケージ B はパッケージ C と D に依存しています。MATLAB パッケージ マネージャーは、パッケージ A をインストールする際に、パッケージ B、C、D がまだインストールされていない場合、それらのパッケージもインストールします。

パッケージをアンインストールする場合、MATLAB パッケージ マネージャーはパッケージの各依存関係をチェックし、使用されていない場合はアンインストールします。依存関係は、直接インストールされておらず、それに依存しているインストール済みパッケージが存在しない場合、使用されていないとみなされます。
パッケージ リポジトリ
配布準備が整ったパッケージを、MathWorks File Exchange などのリポジトリに追加できます。エンド ユーザーはリポジトリでパッケージを検索してインストールできます。パッケージ リポジトリは、パッケージを配布するために使用できる指定場所です。MATLAB は既知のリポジトリのリストを保持しています。mpmsearch を使用してパッケージを検索したり、mpminstall を使用してパッケージをインストールしたりすると、MATLAB パッケージ マネージャーは既知のリポジトリでパッケージを検索します。
MathWorks File Exchange 上のパッケージは、[アドオン] パネルを介して対話的に検索してインストールすることもできます。詳細については、アドオンの取得と管理を参照してください。 (R2026b 以降)

mpmListRepositories を使用して、既知のリポジトリの現在のリストを表示します。mpmAddRepository および mpmRemoveRepository を使用して、既知のリポジトリのリストへのリポジトリの追加と、リストからのリポジトリの削除を行います。詳細については、Distribute Packages Using Folder-Based Repositoriesを参照してください。
参考
オブジェクト
関数
mpmcreate|mpminstall|mpmuninstall|mpmsearch|mpmlist|mpmupdate|mpmAddRepository|mpmListRepositories|mpmRemoveRepository