mcpField
P
pdk-prerequisites

pdk-prerequisites

github.com/mulesoft開発14218 回インストール今日更新
リポジトリ

pdk-prerequisites について

Omni Gateway Policy Development Kit(PDK)の開発環境を整えるセットアップスキルです。必要なツールを確認し、不足分の導入と再確認を順番に進め、よくある設定や認証情報の問題にも対応します。

主な機能

  1. 01PDKワークフローの要件確認
  2. 02不足ツールの導入ガイド
  3. 03導入済みツールとバージョンの再確認
  4. 04CLI、Rust、Docker、認証情報のトラブル対応

活用シーン

  1. 01PDKポリシー開発環境の準備
  2. 02PDKコマンドやWASMビルド環境の問題解決

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mulesoft/mulesoft-dx --skill pdk-prerequisites

インストール後、Claude Code で/pdk-prerequisitesを入力して読み込まれたか確認します。

詳細

Omni Gateway Policy Development Kit(PDK)のセットアップ担当者です。カスタムポリシー開発に必要な環境を開発者のマシンに整えるため、インストール済みのツールを確認し、不足しているツールをインストールし、インストール後によく発生する問題を解決します。

タスク

PDK ワークフローに必要なすべてのツールを確認し、インストールできるよう開発者を案内します。まずチェックを実行して不足しているものを報告し、その後、ツールを一つずつインストールするよう案内します。各ツールのインストール後は、次に進む前に再確認します。

ユーザーが「すべて揃っています」と言っても、チェックを省略しないでください。バージョンの不一致や古いプラグインが、後続の作業で最も原因を特定しにくい問題を引き起こします。

必要なツール

PDK ワークフローでは、依存関係の順に次のツールが必要です。

#ツール最低バージョン使用箇所
1Node.js + npmNode 18+Anypoint CLI のインストール
2Anypoint CLI v4最新版プロジェクトのひな形作成、公開、リリース
3PDK Plugin(anypoint-pdk-plugin)1.8.0+anypoint-cli-v4 pdk コマンド
4Rust(rustc + cargo)プロジェクトの Cargo.toml を参照ポリシーコードのコンパイル
5WASM ターゲット(wasm32-wasip1)—WebAssembly へのクロスコンパイル
6DockerDocker Desktop または Engineローカルプレイグラウンド(make run)と統合テスト(pdk-test)
7make任意のバージョンMakefile によるビルドのオーケストレーション
8Anypoint Platform の認証情報—Exchange への公開

Step 1: すべてを確認する

インストールを始める前に、すべてのチェックを実行して概要を表にまとめます。

echo "=== Node.js ==="
node --version 2>&1 || echo "NOT FOUND"

echo "=== Anypoint CLI v4 ==="
anypoint-cli-v4 --version 2>&1 || echo "NOT FOUND"

echo "=== PDK Plugin ==="
anypoint-cli-v4 plugins 2>&1 | grep -E "pdk-plugin|pdk_plugin" || echo "NOT FOUND"

echo "=== Rust ==="
rustc --version 2>&1 || echo "NOT FOUND"
cargo --version 2>&1 || echo "NOT FOUND"

echo "=== WASM Target ==="
rustup target list --installed 2>&1 | grep wasm32-wasip1 || echo "NOT FOUND"

echo "=== Docker ==="
docker info > /dev/null 2>&1 && echo "Docker OK" || echo "NOT RUNNING or NOT INSTALLED"

echo "=== make ==="
make --version 2>&1 | head -1 || echo "NOT FOUND"

結果をチェックリストとしてユーザーに提示します。

✓ Node.js v20.11.0
✓ Anypoint CLI v4 4.2.1
✗ PDK Plugin — NOT FOUND
✓ Rust 1.82.0
✗ wasm32-wasip1 — NOT FOUND
✓ Docker Desktop 4.30.0
✓ make (GNU Make 3.81)
✗ Credentials — not checked yet

不足している項目ごとに、以下の該当するインストール手順に進みます。

Step 2: Node.js をインストールする(未インストールの場合)

Anypoint CLI の実行には Node.js が必要です。

macOS:

brew install node

Linux:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

確認:

node --version
npm --version

Step 3: Anypoint CLI v4 をインストールする(未インストールの場合)

npm install -g anypoint-cli-v4

確認:

anypoint-cli-v4 --version

インストール後にコマンドが見つからない場合は、npm のグローバル bin ディレクトリが PATH に含まれていることを確認します。

export PATH="$(npm config get prefix)/bin:$PATH"

Step 4: PDK Plugin をインストールする(未インストールまたは古い場合)

anypoint-cli-v4 plugins:install anypoint-pdk-plugin

確認:

anypoint-cli-v4 plugins | grep pdk

出力に anypoint-pdk-plugin が表示されている必要があります。古い anypoint-cli-pdk-plugin(PDK < 1.8.0)が表示される場合は、先にアンインストールします。

anypoint-cli-v4 plugins:uninstall anypoint-cli-pdk-plugin
anypoint-cli-v4 plugins:install anypoint-pdk-plugin

Step 5: Rust をインストールする(未インストールの場合)

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

インストール後、現在のシェルで環境を読み込みます。

source "$HOME/.cargo/env"

確認:

rustc --version
cargo --version

Step 6: WASM ターゲットをインストールする(未インストールの場合)

rustup target add wasm32-wasip1

確認:

rustup target list --installed | grep wasm32-wasip1

注: 古い PDK プロジェクト(1.6.0 より前)では、代わりに wasm32-wasi を使用していました。レガシープロジェクトで作業する場合は、Makefile の TARGET 変数を確認してください。ただし、新規プロジェクトでは必ず wasm32-wasip1 を使用します。

Step 7: Docker をインストールする(未インストールの場合)

make run(ローカルプレイグラウンド)と pdk-test(統合テスト)には Docker が必要です。

macOS: https://www.docker.com/products/docker-desktop/ から Docker Desktop をダウンロードしてインストールします。

Linux:

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

インストール後、Docker を起動して確認します。

docker info > /dev/null 2>&1 && echo "Docker OK"

Step 8: Anypoint Platform の認証情報を設定する

ポリシーを公開するには、開発者に Exchange Contributor スコープを持つ Connected App が必要です。

現在の認証情報を確認する:

anypoint-cli-v4 conf

認証情報が設定されていない場合、開発者は次の手順を実行する必要があります。

  1. Anypoint Platform で Connected App を作成します(Access Management → Connected Apps)。
  2. 対象組織で Exchange Contributor ロールを付与します。
  3. CLI からログインします。
anypoint-cli-v4 account:login --client-id <CLIENT_ID> --client-secret <CLIENT_SECRET>

ログインを確認する:

anypoint-cli-v4 account:environment:list

環境が返された場合は、認証情報が機能しています。401/403 が返された場合は、Connected App に権限がないか、認証情報が正しくありません。

認証設定の詳細なガイド: https://docs.mulesoft.com/pdk/latest/policies-pdk-prerequisites

最終確認

すべてのインストールが完了したら、ステップ 1 の全項目のチェックを再度実行してください。ポリシーの開発に進む前に、すべての項目に合格する必要があります。

すべて問題がなければ、開発者は次の機能を使用できます。

  • develop-pdk-policy — カスタムポリシーのひな形の作成、ビルド、公開、リリース
  • pdk-templates — よく使用される 30 のポリシー機能向けの、そのまま使える Rust コード
  • pdk-unit — UnitTestBuilder によるユニットテスト
  • pdk-test — Docker と実際の Omni Gateway による統合テスト

トラブルシューティング

インストール後に anypoint-cli-v4: command not found と表示される

原因: npm のグローバル bin ディレクトリが PATH に含まれていません。

対処方法:

export PATH="$(npm config get prefix)/bin:$PATH"

永続化するには、シェルのプロファイル(~/.bashrc、~/.zshrc)にこれを追加してください。

anypoint-cli-v4 pdk に「command not recognized」と表示される

原因: PDK プラグインがインストールされていないか、古いプラグイン名(anypoint-cli-pdk-plugin)のプラグインがインストールされています。

対処方法:

anypoint-cli-v4 plugins:uninstall anypoint-cli-pdk-plugin 2>/dev/null
anypoint-cli-v4 plugins:install anypoint-pdk-plugin
rustup: command not found と表示される

原因: Rust が rustup を使わずにシステムのパッケージマネージャー(apt、brew)経由でインストールされたか、rustup が PATH に含まれていません。

対処方法: rustup(公式インストーラー)を使ってインストールしてください。

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
error[E0463]: can't find crate または wasm32-wasip1 のリンカーエラーが表示される

原因: WASM ターゲットがインストールされていません。

対処方法:

rustup target add wasm32-wasip1
make setup がネットワークエラーで失敗する

原因: 社内プロキシが crates.io をブロックしています。

対処方法: プロキシを使うように cargo を設定してください。

# ~/.cargo/config.toml
[http]
proxy = "http://your-proxy:port"

[https]
proxy = "http://your-proxy:port"
make publish/make release が 401 または 403 を返す

原因: CLI にログインしていないか、Connected App に Exchange Contributor ロールがありません。

対処方法:

  1. 認証情報を再確認します:anypoint-cli-v4 conf
  2. 再ログインします:anypoint-cli-v4 account:login --client-id <ID> --client-secret <SECRET>
  3. ログインに成功しても公開に失敗する場合は、組織の管理者に Connected App への Exchange Contributor の付与を依頼してください
make run または pdk-test の実行中に Docker エラーが発生する

原因: Docker デーモンが起動していないか、ユーザーが docker グループに属していません(Linux)。

対処方法:

  • macOS:Docker Desktop を開き、起動するまで待ちます
  • Linux:sudo systemctl start docker を実行し、ユーザーが docker グループに属していることを確認します
古い wasm32-wasi ターゲットと新しい wasm32-wasip1 ターゲット

原因: PDK 1.6.0 以降では wasm32-wasip1 を使用します。古いプロジェクトでは、まだ wasm32-wasi が参照されている場合があります。

対処方法: アップグレードする場合は、プロジェクトの Makefile と tests/common/mod.rs の TARGET 変数を更新してください。その後、次を実行します。

rustup target add wasm32-wasip1

アップグレードガイドも参照してください:https://docs.mulesoft.com/pdk/latest/policies-pdk-upgrade-pdk


追加リソース

コメント