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 <2.1 (2.0 は 2.0.* と同等) に相当し、1.0.0 - 2.1.0 は >=1.0.0 <=2.1 に相当します。 0.
例: 1.0 - 2.0
ワイルドカード
ワイルドカードを使用してバージョンを定義できます。 1.0.* は >=1.0 <1.1 と同等です。
例: 1.0.*
次のメジャー バージョンの演算子
チルダ~
^操作符的行为跟Semantic Versioning有比较大的关联,它允许升级版本到安全的版本。例如,^1.2.3相当于>=1.2.3 <2.0.0,因为在2.0版本前的版本应该都没有兼容性的问题。而对于1.0之前的版本,这种约束方式也考虑到了安全问题,例如^0.3会被当作>=0.3.0 <0.4.0对待。 例子:^1.2.3 版本稳定性 如果你没有显式的指定版本的稳定性,Composer会根据使用的操作符,默认在内部指定为-dev或者-stable。例如: 如果你想指定版本只要稳定版本,你可以在版本后面添加后缀-stable。 minimum-stability 配置项定义了包在选择版本时对稳定性的选择的默认行为。默认是stable。它的值如下(按照稳定性排序):dev,alpha,beta,RC和stable。除了修改这个配置去修改这个默认行为,我们还可以通过稳定性标识(例如@stable和@dev)来安装一个相比于默认配置不同稳定性的版本。例如: 以上是版本约束的介绍。 以上がComposer の共通コマンドとバージョン制約の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。#
{
"require": {
"monolog/monolog": "1.0.*@beta",
"acme/foo": "@dev"
}
}

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

eコマースのWebサイトを開発するとき、私は困難な問題に遭遇しました。ユーザーにパーソナライズされた製品の推奨事項を提供する方法です。当初、私はいくつかの簡単な推奨アルゴリズムを試しましたが、結果は理想的ではなく、ユーザーの満足度も影響を受けました。推奨システムの精度と効率を改善するために、より専門的なソリューションを採用することにしました。最後に、Andres-Montanez/Adcumentations Bundleを介してAndres-Montanez/Bundleをインストールしました。これは、問題を解決しただけでなく、推奨システムのパフォーマンスを大幅に改善しました。次の住所から作曲家を学ぶことができます。

CraftCMSを使用してWebサイトを開発する場合、特にCSSやJavaScriptファイルを頻繁に更新する場合、リソースファイルのキャッシュ問題が発生することがよくあります。古いバージョンのファイルがブラウザによってキャッシュされ、ユーザーが最新の変更を表示しないようにすることがあります。この問題は、ユーザーエクスペリエンスに影響を与えるだけでなく、開発とデバッグの難しさを高めます。最近、プロジェクトで同様のトラブルに遭遇し、いくつかの調査の後、プラグインWiejeben/Craft-Laravel-Mixが見つかりました。

メールマーケティングキャンペーンを行う際には、HTML形式でメールを効率的に作成および送信する方法を実行する際に、トリッキーな問題が発生しています。従来のアプローチは、コードを手動で記述し、SMTPサーバーを使用して電子メールを送信することですが、これは時間がかかるだけでなく、エラーが発生しやすいことです。複数のソリューションを試した後、HTMLメールの作成と送信に役立つシンプルで使いやすいRestapiであるduwa.ioを発見しました。開発プロセスをさらに簡素化するために、Composerを使用してDuwa.ioのPHPライブラリ-CaptainDoe/Duwaをインストールおよび管理することにしました。

多数の教義エンティティを含むプロジェクトに取り組んでいるとき、私は厳しい問題を抱えていました。エンティティがシリアル化され、脱必要にされるたびに、パフォーマンスは非常に非効率的になり、システムの応答時間が大幅に増加します。複数の最適化方法を試しましたが、うまくいきません。幸いなことに、Sidus/Doctrine-Serializer-Bundleを使用することで、この問題をうまく解決し、プロジェクトのパフォーマンスを大幅に改善しました。

Laravelフレームワークには、開発者のさまざまなニーズを満たすためにバージョン番号を簡単に表示するための組み込みの方法があります。この記事では、Composer Command Lineツールの使用、.ENVファイルへのアクセス、PHPコードを介したバージョン情報の取得など、これらの方法について説明します。これらの方法は、Laravelアプリケーションのバージョン化の維持と管理に不可欠です。

eコマースプラットフォームを開発する場合、適切なフレームワークとツールを選択することが重要です。最近、機能が豊富なeコマースのウェブサイトを構築しようとしていたとき、私は困難な問題に遭遇しました。スケーラブルで完全に機能的なeコマースプラットフォームをすばやく構築する方法です。複数のソリューションを試してみて、FecmallのAdvanced Projectテンプレート(Fecmall/FBBCBase-App-Advanced)を選択することになりました。 Composerを使用することにより、このプロセスは非常にシンプルで効率的になります。作曲家は次のアドレスを通して学ぶことができます:学習アドレス

Laravelをインストールするには、これらの手順を順番に進みます。コンポーザー(MacOS/LinuxとWindows用)インストールLaravelインストーラーをインストールします。
