2026年6月16日
2026年6月16日
WP-CLI packageコマンドで拡張パッケージを追加・管理する方法
wp package は、WP-CLI 本体に含まれていない追加コマンド(パッケージ)をインストール・更新・削除するためのコマンドです。たとえば診断用の wp doctor のように、公式・非公式の拡張を入れることで WP-CLI でできることを増やせます。この記事では、インストールから一覧・更新・削除までの手順と、保存先の変更、メモリ不足エラーへの対処、サードパーティ製パッケージを入れる前に確認すべき点を説明します。
WP-CLI パッケージとは
WP-CLI パッケージは、WP-CLI に新しいコマンドを追加する PHP のライブラリです。内部では Composer を使って依存関係を解決し、ユーザーごとのディレクトリにインストールされます。
WordPress のプラグインとは別物である点を押さえておきましょう。
- プラグインはサイトごとに
wp-content/plugins/へ入り、Web からのアクセス時にも読み込まれます。 - パッケージは WP-CLI を実行するユーザーのホームディレクトリ配下に入り、WP-CLI を実行したときだけ読み込まれます。サイトのファイルやデータベースには入りません。
そのため、同じサーバーにある複数のサイトで共通して使えます。一方で、別のユーザー(たとえば sudo -u www-data で切り替えたユーザー)で WP-CLI を実行すると、そのユーザーのホームディレクトリを見るため、インストールしたはずのコマンドが見つからないということが起こります。
事前に確認すること
パッケージのインストールには Composer の処理が走るため、次の条件がそろっている必要があります。
- WP-CLI 本体が動いていること(
wp --infoで確認) - Git リポジトリから入れる場合は
gitコマンドが使えること - 外部(GitHub や Packagist)へ HTTPS で接続できること
wp --info を実行すると、使用中の PHP のパスやバージョン、WP-CLI のバージョン、パッケージの保存先が表示されます。トラブル時はまずこの出力を確認してください。
パッケージをインストールする(wp package install)
インストール元は主に3種類あります。
# GitHub のリポジトリ名(ベンダー名/パッケージ名)で指定
wp package install wp-cli/doctor-command
# Git の URL で指定
wp package install https://github.com/wp-cli/doctor-command.git
# ローカルや Web 上の zip ファイルで指定
wp package install ~/packages/my-command.zip
バージョンを固定したい場合は、名前の後ろにコロンで制約を付けます。
wp package install wp-cli/doctor-command:@stable
インストールが終わったら、追加されたコマンドのヘルプが表示されるか確認します。
wp help doctor
パッケージによっては、リポジトリ名とコマンド名が異なります。何というコマンドが追加されるかは、各パッケージの README で確認してください。
インストール済みの一覧を見る(wp package list)
wp package list
wp package list --format=json
名前・作者・バージョンなどが表示されます。複数のサーバーで同じパッケージ構成をそろえたいときは、ここで表示された名前を記録しておき、セットアップ用のスクリプトで wp package install を並べておくと再現しやすくなります。
保存先のディレクトリを確認するには wp package path を使います。パッケージ名を付けると、そのパッケージのディレクトリを表示します。
wp package path
wp package path wp-cli/doctor-command
更新と削除(wp package update / uninstall)
# インストール済みのパッケージをまとめて更新
wp package update
# 不要になったパッケージを削除
wp package uninstall wp-cli/doctor-command
update は、インストール時に指定したバージョン制約の範囲で最新版に更新します。WP-CLI 本体を wp cli update で更新したあとに、パッケージ側が新しい本体に対応していないとエラーになることがあります。本体を更新したら wp package update も実行し、それでも動かない場合はそのパッケージをいったん削除して様子を見ます。
保存先を変える(WP_CLI_PACKAGES_DIR)
パッケージは標準ではホームディレクトリ配下の .wp-cli/packages/ に入ります。ホームディレクトリの容量が小さい、複数の作業ユーザーで同じパッケージを使いたい、といった場合は、環境変数 WP_CLI_PACKAGES_DIR で保存先を変えられます。
export WP_CLI_PACKAGES_DIR=/opt/wp-cli/packages
wp package install wp-cli/doctor-command
この環境変数は、インストール時だけでなく WP-CLI を実行するたびに必要です。設定し忘れるとパッケージが読み込まれず、コマンドが見つからない状態になります。常用するなら .bashrc などのシェルの設定ファイルに書いておきます。共有ディレクトリにする場合は、書き込める利用者を限定してください。誰でも書き込める場所に置くと、別の利用者がパッケージを差し替えて任意のコードを実行できてしまいます。
メモリ不足でインストールに失敗する場合
wp package install は内部で Composer の依存関係解決を行うため、多くのメモリを使います。「Allowed memory size of ... bytes exhausted」というエラーが出たら、PHP のメモリ上限を一時的に上げて実行します。
php -d memory_limit=512M "$(which wp)" package install wp-cli/doctor-command
which wp で WP-CLI の実体(phar ファイル)の場所を取得し、php -d でメモリ上限を指定して起動する方法です。共用サーバーでは CLI の PHP に別の上限が設定されていることがあり、それでも足りない場合はサーバー会社の案内に従って CLI 用の設定を確認してください。
パッケージが原因で WP-CLI が動かなくなったら
壊れたパッケージや本体と互換性のないパッケージがあると、どのコマンドを実行してもエラーになることがあります。グローバル引数 --skip-packages を付けると、インストール済みのパッケージを読み込まずに WP-CLI を起動できます。
wp --skip-packages package list
wp --skip-packages package uninstall vendor/broken-command
これで本体が動くことを確かめ、原因のパッケージを削除または更新します。
サードパーティ製パッケージを入れる前に
パッケージは WP-CLI と同じ権限で PHP コードを実行します。つまり、サイトのファイルやデータベースの認証情報、サーバー上の他のファイルにもアクセスできる状態で動きます。導入前に次の点を確認してください。
- 提供元が信頼できるか(
wp-cli組織の公式パッケージか、実績のある開発者か) - 最近もメンテナンスされているか、Issue への対応状況はどうか
- ソースコードに不審な外部通信や難読化されたコードが無いか
また、データを書き換えるコマンドを追加するパッケージは、本番で初めて使う前にステージング環境で動作を確かめ、実行前に wp db export でデータベースを書き出しておくと戻せます。
以前は WP-CLI 公式サイトのパッケージ一覧からパッケージを探す方法が案内されていましたが、現在は GitHub の wp-cli 組織や各開発者のリポジトリ、Packagist で探すのが一般的です(2026年10月現在)。利用できるサブコマンドは WP-CLI のバージョンによって異なるため、wp help package で確認してください。
まとめ
wp packageは WP-CLI に追加コマンドを入れる仕組みで、プラグインとは別物install・list・update・uninstall・pathの5つで日常の管理はまかなえる- 保存先は実行ユーザーのホームディレクトリ配下。別ユーザーで実行すると見えない
- 保存先を変える
WP_CLI_PACKAGES_DIRは実行のたびに必要 - メモリ不足は
php -d memory_limit=512Mで起動して回避する - 壊れたら
--skip-packagesで起動して原因を取り除く - パッケージは WP-CLI と同じ権限で動くため、提供元とコードを確かめてから入れる