検索
ホームページ開発ツールcomposerComposer の共通コマンドとバージョン制約

次の composer 使用法チュートリアル のコラムでは、一般的に使用されるパッケージ管理コマンドと、パッケージのバージョンを制限する方法について説明します。困っている友人の役に立てば幸いです。

Composer の共通コマンドとバージョン制約

一般的なコマンド

require コマンド

Composer チュートリアル」 」では、install コマンドを使用して依存関係をインストールする方法を簡単に紹介しました。 install コマンドに加えて、require コマンドを使用して、composer.json に依存関係情報を手動で追加せずに、依存関係をすばやくインストールすることもできます。

$ composer require monolog/monolog
Using version ^1.19 for monolog/monolog
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing psr/log (1.0.0)
    Downloading: 100%         
 
  - Installing monolog/monolog (1.19.0)
    Downloading: 100%         
 
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
......
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
Writing lock file
Generating autoload files

Composer は、まず適切なバージョンを見つけてから、composer.json を更新します。 monolog/monolog パッケージの関連情報を require に追加し、インストール用に関連する依存関係をダウンロードし、最後に、composer.lock ファイルを更新して、PHP 自動読み込みファイルを生成します。

update コマンド

update コマンドを使用すると、プロジェクト内のすべてのパッケージ、または特定の指定したパッケージを更新できます。

# 更新所有依赖
$ composer update
 
# 更新指定的包
$ composer update monolog/monolog
 
# 更新指定的多个包
$ composer update monolog/monolog symfony/dependency-injection
 
# 还可以通过通配符匹配包
$ composer update monolog/monolog symfony/*

パッケージがアップグレードできるバージョンはバージョン制約によって制限され、パッケージは制約範囲を超えたバージョンにはアップグレードされないことに注意してください。たとえば、composer.json 内のパッケージのバージョン制約が ^1.10 で、最新バージョンが 2.0 であるとします。この場合、update コマンドはパッケージをバージョン 2.0 にアップグレードできず、バージョン 1.x にのみアップグレードできます。バージョンの制約については、以下の概要を参照してください。

remove コマンド

パッケージとその依存関係を削除するには、remove コマンドを使用します (依存関係が他のパッケージで使用されていない場合):

$ composer remove monolog/monolog
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Removing monolog/monolog (1.19.0)
  - Removing psr/log (1.0.0)
Writing lock file
Generating autoload files

search コマンド

検索コマンドを使用してパッケージを検索します:

$ composer search monolog
monolog/monolog Sends your logs to files, sockets, inboxes, databases and various web services
 
# 如果只是想匹配名称可以使用--only-name选项
$ composer search --only-name monolog

show コマンド

show コマンドを使用してリストします。プロジェクトに現在インストールされているパッケージに関する情報を取得します:

# 列出所有已经安装的包
$ composer show
 
# 可以通过通配符进行筛选
$ composer show monolog/*
 
# 显示具体某个包的信息
$ composer show monolog/monolog

上記は、一般的に使用されるコマンドの概要です。

バージョンの制約

前述したように、ダウンロードするパッケージのバージョンを指定できます。たとえば、monolog のバージョン 1.19 をダウンロードしたいとします。目標を達成するには、composer.json ファイル:

{
    "require": {
        "monolog/monolog": "1.19"
    }
}

を使用して install コマンドを実行するか、require コマンド:

$ composer require monolog/monolog:1.19
 
# 或者
$ composer require monolog/monolog=1.19
 
# 或者
$composer require monolog/monolog 1.19

を使用します。上記のように特定のバージョンを指定することに加えて、バージョンを指定するさまざまな制約を渡すこともできます。

基本的な制約

正確なバージョン

特定のバージョンを指定して、このバージョンのみをインストールできることを Composer に伝えることができます。 。ただし、他の依存関係に他のバージョンが必要な場合、パッケージのインストールまたは更新は最終的に失敗して終了します。

例: 1.0.2

スコープ

比較演算子を使用してパッケージのスコープを指定できます。これらの演算子には、>、>=、

複数の範囲を定義したり、スペースまたはカンマを使用して論理 AND を示したり、二重縦棒 || を使用して論理 OR を示したりできます。 AND の優先順位は or よりも高くなります。

無制限の範囲を使用すると、予期しないバージョンがインストールされ、下位互換性が失われる可能性があることに注意してください。ハイフン演算子を使用することをお勧めします。

例:

>=1.0
>=1.0 <2.0
>=1.0 <1.1 || >=1.2

範囲 (ハイフンを使用)

ハイフンで囲まれた範囲は、含まれるバージョンの範囲を示します。つまり、境界線が存在する必要があります。ハイフンの左側は >= バージョンを示しますが、ハイフンの右側の状況はもう少し複雑です。右側のバージョンが完全なバージョン番号ではない場合は、ワイルドカード文字を使用して補完されます。たとえば、1.0 - 2.0 は >=1.0.0 =1.0.0

例: 1.0 - 2.0

ワイルドカード

ワイルドカードを使用してバージョンを定義できます。 1.0.* は >=1.0

例: 1.0.*

次のメジャー バージョンの演算子

チルダ~

## まず、 ~1.2 は >=1.2 =1.2.3 例: ~1.2

上記のステートメントに従って ~ が ~1 などのメジャー バージョン番号に作用する場合、Composer はバージョン 1 以降のメジャー バージョンをインストールできることに注意してください。しかし実際には、~1 は ~1.0 として扱われ、追加できるのはマイナー バージョンのみであり、メジャー バージョンは追加できません。

# 折り数

#

^操作符的行为跟Semantic Versioning有比较大的关联,它允许升级版本到安全的版本。例如,^1.2.3相当于>=1.2.3 =0.3.0

例子:^1.2.3

版本稳定性

如果你没有显式的指定版本的稳定性,Composer会根据使用的操作符,默认在内部指定为-dev或者-stable。例如:

Composer の共通コマンドとバージョン制約

如果你想指定版本只要稳定版本,你可以在版本后面添加后缀-stable。

minimum-stability 配置项定义了包在选择版本时对稳定性的选择的默认行为。默认是stable。它的值如下(按照稳定性排序):dev,alpha,beta,RC和stable。除了修改这个配置去修改这个默认行为,我们还可以通过稳定性标识(例如@stable和@dev)来安装一个相比于默认配置不同稳定性的版本。例如:

{
    "require": {
        "monolog/monolog": "1.0.*@beta",
        "acme/foo": "@dev"
    }
}

以上是版本约束的介绍。

以上がComposer の共通コマンドとバージョン制約の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はcuiqingcaiで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
作曲家の専門知識:誰かを熟練させるもの作曲家の専門知識:誰かを熟練させるものApr 11, 2025 pm 12:41 PM

作曲家を使用するときに熟練するには、次のスキルをマスターする必要があります。1。composer.jsonとcomposer.lockファイルを使用するのに熟練している必要があります。2。作曲家の仕組み、3。マスターコンポーザーのコマンドラインツール、4。基本的および高度な使用法を理解します。

作曲家は何をしていますか?作曲家は何をしていますか?Apr 08, 2025 am 12:19 AM

Composerは、PHPの依存関係管理ツールであり、プロジェクトの依存関係を宣言、ダウンロード、管理するために使用されます。 1)Composer.jsonファイルを介して依存関係を宣言します。2)ComposerInstallコマンドを使用して依存関係をインストールし、3)依存関係ツリーを解析し、Packagistからダウンロードします。4)Autoload.phpファイルを生成して自動荷重を簡素化します。

App Composerとは何ですか?App Composerとは何ですか?Apr 07, 2025 am 12:07 AM

AppComposerは、アプリケーションを構築および管理するためのツールです。 1)事前定義されたコンポーネントをドラッグして構成することにより、アプリケーションの開発を簡素化し、効率を向上させます。 2)開発者は、コンポーネントを定義し、インターフェイスを組み合わせ、ビジネスロジックを定義し、最終的にアプリケーションをレンダリングできます。 3)タスク管理や条件付きレンダリングなど、基本的および高度な使用法をサポートし、柔軟なアプリケーションの構築に役立ちます。

作曲家は何に使用されていますか?作曲家は何に使用されていますか?Apr 06, 2025 am 12:02 AM

作曲家は、PHPの依存関係管理ツールです。 Composerを使用するコアステップは次のとおりです。1)「Stripe/Stripe-PHP」などのComposer.jsonの依存関係を宣言:「^7.0」; 2)ComposerInStallを実行して、依存関係をダウンロードおよび構成します。 3)Composer.LockおよびAutoload.phpを介してバージョンとオートロードを管理します。 Composerは依存関係管理を簡素化し、プロジェクトの効率と保守性を向上させます。

作曲家AIとは何ですか?作曲家AIとは何ですか?Apr 05, 2025 am 12:13 AM

Composeraiは、開発効率と品質を改善するためにコードを生成および最適化するための人工知能ベースのツールです。その機能には次のものが含まれます。1。コード生成:要件に応じて標準を満たすコードスニペットを生成します。 2。コード最適化:既存のコードを分析することにより、最適化の提案を行います。 3。自動テスト:テストケースを生成して、コードの品質を確保します。

AndroidのComposerとは何ですか?AndroidのComposerとは何ですか?Apr 04, 2025 am 12:18 AM

ComposerはAndroidのSurfaceFlingerサービスの一部であり、最終的なディスプレイバッファーに複数のグラフィックスレイヤーを合成する責任があります。 1)グラフィックレイヤーを収集し、2)グラフィックレイヤーを並べ替え、3)グラフィックレイヤーを合成し、4)ディスプレイデバイスへの出力を使用して、アプリケーションのパフォーマンスとユーザーエクスペリエンスを向上させます。

作曲家の定義は何ですか?作曲家の定義は何ですか?Apr 03, 2025 am 12:17 AM

作曲家は、音楽を作り、感情を表現し、物語を語り、音楽を通してアイデアを伝える人々です。作曲家の作品には次のものが含まれます。1。概念:作品のテーマとスタイルを決定します。 2。作成:メロディーとハーモニーを作曲して、予備的な音楽構造を形成します。 3。実験:機器またはソフトウェアを介した作業のオーディションと調整。 4。改善:満足するまで、オーディションの結果に従って変更および改善します。

作曲家とオーケストレーターの違いは何ですか?作曲家とオーケストレーターの違いは何ですか?Apr 02, 2025 pm 02:49 PM

作曲家はPHPプロジェクトの依存関係を管理するために使用されますが、オーケストレーターはマイクロサービスまたはコンテナ化されたアプリケーションを管理および調整するために使用されます。 1.Composer.jsonファイルを介してPHPプロジェクトの依存関係を宣言および管理します。 2。Orchestratorは、構成ファイル(KubernetesのYAMLファイルなど)を介してサービスの展開と拡張を管理し、高可用性と負荷分散を確保します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境