PHP Web アプリケーションを構築するときは、依存関係を最新の状態に保つことと、既知のセキュリティ脆弱性を持つ Composer 依存関係がインストールされないようにすることが重要です。これにより、アプリケーションの安全性を確保し、最新の機能やバグ修正の恩恵を受けることができます。
しかし、一般的な日常の開発タスクの合間に、依存関係の更新が遅れてしまうのは非常に簡単です。ありがたいことに、Composer は、利用可能な更新がある、使用しているパッケージの概要を取得するために使用できる便利なツールを提供します。
この Quickfire 記事では、PHP プロジェクト内の古いパッケージを見つけるのに役立つ、composer outdated コマンドについて簡単に説明します。
composer outdated コマンドを実行すると、どの依存関係に利用可能な更新があるかを確認できます。
PHP プロジェクトのルート ディレクトリで次のコマンドを実行すると、コマンドを実行できます:
composer outdated
デフォルトでは、このコマンドは、使用している現在のバージョンとともに、新しいバージョンが利用可能なパッケージを表示します。依存関係は 2 つの異なるカテゴリに分割されます:
依存関係のマイナー バージョンまたはパッチ バージョンの場合、Composer は新しいバージョンを赤色で表示します。依存関係のメジャー バージョンが利用可能な場合、新しいバージョンは黄色で表示されます。
これは、composer の古いコマンドを実行したときに表示される出力の例です:
画像でわかるように、composer outdated コマンドにより、新しいバージョンが利用可能なパッケージが表示されています。
上記の例では、composer.json ファイルで必要としている phpunit/phpunit 依存関係が現在 10.5.17 であり、11.3.1 へのメジャー バージョン アップグレードが利用可能であることがわかります。
また、メジャー、マイナー、およびパッチのアップグレードが利用可能な推移的な依存関係がいくつかあることもわかります。
composer の古いコマンドには、出力をフィルタリングするために使用できるいくつかのオプションがあります:
--all オプションを使用すると、最新のものを含むプロジェクト内のすべての依存関係を表示できます。これは、プロジェクト内のすべての依存関係を 1 か所で確認し、更新が必要なパッケージと最新バージョンを実行しているパッケージの概要を取得したい場合に便利です。
次のように使用できます:
composer outdated --all
出力は次のようになります:
バージョン番号が緑色で表示されている場合は、現在インストールされているバージョンが最新のバージョンであることを意味します。例として、jonpurvis/profanify 依存関係が最新であることがわかります。
余談ですが、実際には、PHP プロジェクトで Profanify を使用してコード内の冒涜を防ぐ方法についての記事があります。ここで確認できます: Profanify: PHP コードベースでの不適切な行為を防止する
--direct オプションを使用すると、プロジェクト内の直接の依存関係のみを表示できます。
これは、composer.json ファイルで直接必要としたパッケージを確認することだけに興味がある場合に便利です。
次のように使用できます:
composer outdated --direct
出力は次のようになります:
メジャー バージョンが利用可能なパッケージのみを表示したい場合は、--major-only オプションを使用できます。
次のように使用できます:
composer outdated --major-only
マイナー バージョンが利用可能なパッケージのみを表示したい場合は、--minor-only オプションを使用できます。
次のように使用できます:
composer outdated --minor-only
パッチ バージョンが利用可能なパッケージのみを表示したい場合は、--patch-only オプションを使用できます。
次のように使用できます:
composer outdated --patch-only
この記事で、composer outdated コマンドの概要と、それを使用して PHP プロジェクト内で古いパッケージを見つける方法について説明できれば幸いです。
この記事を読んで気に入っていただけたなら、同様のトピックをさらに詳しく扱った私の 220 ページの電子書籍「Battle Ready Laravel」をチェックしてみることに興味があるかもしれません。
または、私の他の 440 ページの電子書籍「Laravel での API の使用」をチェックしてみてください。Laravel を使用して他のサービスから API を使用する方法が説明されています。
私が新しい投稿を公開するたびに最新情報を受け取ることに興味がある場合は、お気軽にニュースレターに登録してください。
これからも素晴らしいものを作り続けてください! ?
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3