数日前 Composer2.0の新しいバージョンのリリースが発表されました、PHPプロジェクトに依存関係をインストールする管理者です。
作曲家、許可するために際立っています ユーザーに 必要な関数ライブラリを決定する プロジェクトが機能するために、その後、不足している依存関係をインストールし、新しいバージョンを更新する作業を処理します。
インストール可能なライブラリは、287千を超えるパッケージを含むPackagistリポジトリにあります。
Composerについて
Composerは依存関係のインストールシステムとして位置付けられています npmおよびbundleパッケージマネージャーで設計 Node.jsおよびRubyコミュニティで念頭に置いてください。
システム 特定のプロジェクトに関連してパッケージを運用する また、ローカルプロジェクトディレクトリへの依存関係をインストールするように設計されています(オプションとして、システム全体のグローバルインストールモードもあります)。
デフォルトでは、安定したライブラリのインストールが推奨されますが、継続的インテグレーションシステムでテストビルドを整理するのに役立つ実験的な更新(アルファ/ベータ)とスナップショット(開発コードベースのスナップショット)を使用することもできます。
ComposerコードはPHPで記述されており、MITライセンスの下で配布されています。
Composer2.0の新バージョンについて
新しいバージョンでは 主要なパフォーマンスの最適化が行われました そしてメモリ消費が削減されました。 プロトコルからpackagist.orgの呼び出しまで、多くの作業がやり直されました。 依存関係を決定するための方法に至るまで。
アップロードは、さまざまなメタデータストリームとzipファイルで提供されます。 パッケージの並列インストールのモードが実装されました。 計算用のコードに最適化が追加されました。 パッケージメタデータのみをアップロードすることにより、requireおよび/またはremove操作と部分的な更新が大幅に高速化されます。 一部のプロジェクトでは、最大50%の加速が観察されます。
依存関係を更新するメカニズムが作り直されました、ローカルファイルシステム上のディレクトリの状態へのバインドがありません。 更新が完了すると、インストールプロセスは、ネットワークアクセスを必要とするすべての操作の予備実行から自動的に開始されます。
実際のインストールを開始する前にネットワーク操作を実行すると、インストールプロセス中にネットワーク障害が発生した場合に、不完全に更新されたディレクトリが表示されなくなります。 可能な限り、ネットワークのダウンロードはマルチスレッドです。
デフォルトでは、 追加のプラットフォーム検証段階が追加されます ベンダー/autoload.phpを初期化するときにランタイムに PHPのバージョンと拡張機能を確認します 使用されるのは、依存関係でサポートされているバージョンと一致します。 不一致がある場合は、エラーが表示されます。
検証は、新しいComposer \ InstalledVersionsクラスを使用して行われます。このクラスは、プロジェクトごとにロードされ、プロジェクトで使用可能なパッケージとバージョンを判別します。
さらに、依存関係の検出の問題に関連するエラーメッセージを作り直したことが言及されています。 これらのメッセージは短く、明確で、重複が少なくなっています。
アップグレード中にバージョンを一時的に制限するには、「Composer update vendor / package:1.0」という構成を使用します。 * "、これは" composer.jsonのブロックの内容を変更せず、ロックされたファイルを廃止としてマークしません。
この新しいバージョンで際立っている他の変更の中で:
- 期間限定の部分更新のサポートが追加されました。これは、パッケージのバージョンを一時的に更新またはロールバックして、バグ修正をテストまたは待機する必要がある場合に使用できます。 不要になったパッケージの自動削除が実装されました。
- 新しいオプション、excludeおよびcanonicalのみがリポジトリに追加されました。
- 操作、実行、グループの作成前、およびダウンロード後のファイルの前に、新しいイベントが追加されました。
- 多数の新しいフラグが追加されました。
最後に、この新しいバージョンについて詳しく知りたい場合は、詳細を参照してください。 次のリンクで。
一方、ドキュメントを参照したい場合は、それを行うことができます このリンクから