ホームページ >開発ツール >composer >Composer.josnとcomposer.lockの違い、ComposerのインストールとComposerのアップデートの違いの詳細な説明

Composer.josnとcomposer.lockの違い、ComposerのインストールとComposerのアップデートの違いの詳細な説明

藏色散人
藏色散人転載
2019-10-16 16:41:083087ブラウズ

次のコラム composer チュートリアル では、composer.josn と Composer.lock の違い、および Composer のインストールと Composer の更新の違いについて詳しく説明します。必要としている友達の役に立てば幸いです。助けてください!

Composer.josnとcomposer.lockの違い、ComposerのインストールとComposerのアップデートの違いの詳細な説明

問題の説明

既存のプロジェクトに拡張パックを追加する必要がよくありますが、ドキュメント内の誤ったガイダンスが原因で、次の図はこのドキュメントからのものです:

Composer.josnとcomposer.lockの違い、ComposerのインストールとComposerのアップデートの違いの詳細な説明

composer update このコマンドは、現在のロジックではプロジェクトに多大な損害を与える可能性があります。

コンポーザーの更新のロジックは、composer.json で指定された拡張パッケージのバージョン規則に従って、すべての拡張パッケージを最新バージョンに更新することであるため、すべての拡張パッケージであることに注意してください。プロジェクト Monolog が使用され、そのときの構成情報は

"monolog/monolog": "1.*",

monolog 1.1 バージョンがインストールされ、現在では1 か月後、monolog は 1.2 になりました。コマンドを実行すると、直接 1.2 に更新されます。現時点では、プロジェクトは 1.2 用にテストされていません。プロジェクトは突然非常に不安定になります。状況はこれよりもさらに悪化する場合があります。特にプロジェクトの完全なカバレッジ テストを作成しないと、何が問題になっているのかわかりません。

どの composer コマンド を使用する必要がありますか?インストール、アップデート、または必要ですか?

次に一つずつ説明していきます。

簡単な説明

composer install - combos.lock ファイルがある場合は直接インストールし、そうでない場合は、composer.json から最新の拡張パッケージと依存関係をインストールします。 update -コンポーザー .json から最新の拡張機能パッケージと依存関係をインストールします;

composer アップデート ベンダー/パッケージ - combos.json または対応するパッケージから構成を構成し、それを最新に更新します;

composer require new/package - インストール new/package を追加します。次のようにバージョンを指定できます。composer require new/package ~2.5.

プロセス

日常のいくつかの生産プロセスを紹介し、誰もが理解できるようにします。

プロセス 1: 新しいプロジェクト プロセス

composer.json を作成し、依存する拡張機能パッケージを追加します。

composer install を実行して拡張機能をインストールします。パッケージ そして、composer.lock を生成します。

次のように、composer.lock をコード バージョン コントローラーに送信します。 git;

プロセス 2: プロジェクトの共同作業者が既存のプロジェクトをインストールする

プロジェクトのクローンを作成した後、ルート ディレクトリで直接、composer install を実行して、composer.lock から指定されたバージョンの拡張パッケージとその依存関係をインストールします。

このプロセスは、実稼働環境のデプロイメントに適しています。コード。

プロセス 3: 新しい拡張機能パッケージをプロジェクトに追加する

composer require ベンダー/パッケージを使用して拡張機能パッケージを追加します;

更新されたパッケージを送信します例: git;

composer.lock ファイルについて

#composer.lock ファイルには、依存関係が保存されます。各コードのバージョン レコード (以下の図を参照) はバージョン コントローラーに送信され、Composer のインストールと組み合わせて使用​​され、チーム内のすべての共同作業者の開発環境およびオンライン運用環境で実行されるコード バージョンの一貫性が確保されます。

Composer.josnとcomposer.lockの違い、ComposerのインストールとComposerのアップデートの違いの詳細な説明#拡張パッケージのインストール方法について

そこで、拡張パッケージを追加するための準備として、インストール、アップデート、の3つが必要です。コマンド 拡張パックのインストールに使用できますが、どれを選ぶのが正しいでしょうか?

答えは、composer require コマンドを使用することです。

さらに、composer.json を手動で変更して拡張パッケージを追加した後、composer update new/package を使用して拡張パッケージの更新を指定できます。という方法でも正しくインストールできますが、拡張パッケージ名の最終決定を忘れると悲惨な状況になるため、この方法の使用はお勧めできません。罠にはまらないようにしてください。

上記の概念は初心者やベテランにとって非常にわかりにくいものです。覚えておくべき主な点は次の概念です:

元のプロジェクトに拡張機能を追加するには、composer require new/package を使用します。 。

バージョンを追加する必要がある場合

composer require "foo/bar:1.0.0"

指定された拡張子を指定されたバージョンに更新します

以前に使用していた拡張パックに新機能が追加されている場合がありますが、この 1 つの拡張パックを指定したバージョンに更新したい場合は、require を使用して更新することもできます。

次の例のように、「sami/sami」: "3.0." を "sami/sami": "3.2." に更新する必要があります。 ##コマンドライン実行:

###以上!###

以上がComposer.josnとcomposer.lockの違い、ComposerのインストールとComposerのアップデートの違いの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。