問題の説明
拡張パックを既存のプロジェクトに追加する必要があることがよくありますが、これは、このドキュメントの次の図のようなドキュメント内の誤ったガイダンスが原因である場合があります。
このコンポーザー更新コマンドは、現在のロジックではプロジェクトに多大な損害を与える可能性があります。
Composer の更新のロジックは、composer.json で指定された拡張パッケージのバージョン規則に従って、すべての拡張パッケージを最新バージョンに更新することであるため、たとえば、プロジェクト Monolog が使用されました。当時の構成情報は
"monolog/monolog": "1.*",
ログイン後にコピー
でした。1 か月以上経過した現在、monolog はすでに 1.2 になっています。現時点では、プロジェクトは 1.2 に対してテストされていないため、特に大規模なプロジェクトでは、完全なカバレッジ テストを作成しないと、状況が突然非常に不安定になることがあります。プロジェクト、何かが壊れています。
どのコマンドを使用する必要がありますか?インストール、アップデート、または必要ですか?
一つずつ説明していきます。
簡単な説明
- コンポーザーのインストール - コンポーザー.lock ファイルがある場合は直接インストールします。そうでない場合は、composer.json から最新の拡張パッケージと依存関係をインストールします。 🎜>コンポーザーの更新 - 最新の拡張機能パッケージと依存関係をcomposer.jsonからインストールします。
- コンポーザーの更新ベンダー/パッケージ - コンポーザー.jsonまたは対応するパッケージの設定から、最新のものに更新します。
combos require new/package - インストール new/package を追加します。composer require new/package ~2.5 のようにバージョンを指定できます。-
- プロセス
次のようになります。日常の制作工程をいくつか紹介し、皆様の理解を深めていただきます。
プロセス 1: 新しいプロジェクト プロセス
コンポーザー.json を作成し、依存する拡張機能パッケージを追加します。
拡張機能パッケージをインストールして生成するために、composer install を実行します。次のように、composer.lock をコード バージョン コントローラーに送信します。 -
-
- プロセス 2: プロジェクトの共同作業者が既存のプロジェクトをインストールします
プロジェクトのクローンを作成した後、composer install をルート ディレクトリで直接実行して、composer.lock から指定されたバージョンの拡張パックとその依存関係をインストールします。このプロセスは、実稼働環境コードのデプロイメントに適用されます。
プロセス 3: 新しい拡張機能パッケージをプロジェクトに追加します
-
拡張機能パッケージを追加するには、composer require ベンダー/パッケージを使用します。
更新された拡張機能パッケージを送信します。例: git;
コンポーザー.json とコンポーザー.ロックをコード バージョン コントローラーに追加します。依存関係 (下の図を参照) を作成し、バージョン コントローラーに送信し、composer インストールで使用して、チーム内のすべての共同作業者の開発環境とオンライン運用環境で実行されているコード バージョンの一貫性を確保します。
- 拡張パックのインストール方法について
- 次に、拡張パックを追加する準備をします。install、update、require の 3 つのコマンドを使用してインストールできます。拡張パックはどれを選ぶのが正しいでしょうか?
答えは、composer require コマンドを使用します。
さらに、composer.json を手動で変更して拡張機能パッケージを追加した後、composer update new/package を使用して、指定された拡張機能パッケージを更新できます。も正しくインストールできますが、後続の拡張パッケージ名を確定するのを忘れると破滅の状態になるため、この方法の使用はお勧めできません。罠にはまらないようにしてください。
上記の概念は、初心者やベテランにとって非常にわかりにくいものです。覚えておくべき主な点は、次の概念です。
元のプロジェクトに新しい拡張機能を追加するには、composer require new/ package is を使用します。このように取り付けられました。
終わり。
LaravelTips のフォローを歓迎します。LaravelTips は、Laravel 開発者へのサービスに重点を置いた WeChat 公開アカウントであり、開発者が Laravel フレームワークをよりよく習得し、開発効率を向上できるよう支援することに尽力しています。 >