あなたが記述しているのは、Composerの主な目的、つまり他のパッケージを必要と実装する可能性があるコードパッケージの定義です。
:1が
require
を標識し、1は
require-dev
をラベル付け、あなたは作曲のすべての構成情報を提供composer.jsonファイルを見れば、あなたは、2つのブロックが必要と表示されます、ガイドとしてAWS SDKを使用して
"require": {
"php": ">=5.5",
"guzzlehttp/guzzle": "^5.3.1|^6.2.1",
"guzzlehttp/psr7": "^1.4.1",
"guzzlehttp/promises": "~1.0",
"mtdowling/jmespath.php": "~2.2"
},
"require-dev": {
"ext-openssl": "*",
"ext-pcre": "*",
"ext-spl": "*",
"ext-json": "*",
"ext-dom": "*",
"ext-simplexml": "*",
"phpunit/phpunit": "^4.8.35|^5.4.0",
"behat/behat": "~3.0",
"doctrine/cache": "~1.4",
"aws/aws-php-sns-message-validator": "~1.0",
"nette/neon": "^2.3",
"andrewsville/php-token-reflection": "^1.4",
"psr/cache": "^1.0"
},
これは、ライブラリが依存する他のパッケージ/ライブラリを定義する方法です。 require
セクションには、ライブラリのインストール時にインストールする必要のある他のすべてのライブラリが一覧表示されます。 require-dev
セクションには、開発環境で作業している場合にのみ必要なライブラリが記載されており、運用環境では不要です。
必要な他のライブラリを指定すると、Composerはライブラリをインストールしてからライブラリに必要なライブラリ(ライブラリが必要とするライブラリなど)を必要とします。
含まれるライブラリにも含まれていますが、互換性を確保するために、バージョン番号も含まれています。
私が見つけた新しい依存関係を追加する最も簡単な方法は、composer require
コマンドでコマンドラインにあります。ここにはhttps://getcomposer.org/doc/03-cli.md#requireと記載されています。このコマンドは、正確な情報がわからない場合に、必要なパッケージを自動的に解決することができます(必要に応じて変更できます)。
開発専用の依存関係を必要とする場合は、コマンドを実行するときに--dev
フラグを追加します。
このコマンドを使用すると、Composerは自動的にcomposer.jsonファイルを更新し、ローカルマシンへの依存関係をプルダウンし、オートローダーを更新します。
依存関係を自動ロードできるようにするには、require_once vendor/autoload.php
以上のことを行う必要はありません。Composerは、オートローダの設定に関するすべての作業を行いますので、新しい依存関係があるため最新の状態に保つ必要がありません。追加されました。
composer.jsonスキーマに関する完全なドキュメントは、https://getcomposer.org/doc/04-schema.mdです。プロジェクトのルートにcomposer.json設定ファイルがあるので、プロジェクト用のコンポーザー(および後でライブラリーが必要なもの)を構成できます。あなたが持っていない場合は、composer init
コマンドを使ってインタラクティブに作成することができます。そのコマンドに関するドキュメントはここにあります:https://getcomposer.org/doc/01-basic-usage.md
おかげで、[トラブルシューティング](https://getcomposer.org/を:https://getcomposer.org/doc/03-cli.md#init
そして、ここでは、すでにそれを行っていない場合は、その基本的な使い方ガイド、ですdoc/articles/troubleshooting.md#package-not-found)ページも参考になりました.Packagist(#3の "Package not found")に公開されていない限り、Composerは再帰的に "子"パッケージを持ち込みません。 –
Packagistに登録されていないが、インターネット上で複製できるようになっているライブラリ(Github、Gitlab、gitを持つパブリックサーバなど)を使用し、ルートにcomposer.jsonファイルがあるライブラリを使用する場合は、あなたのcomposer.jsonファイルの "repositories"キーの下にそれを登録することによってそれをもたらすことができます。その上のドキュメントは次のとおりです:https://getcomposer.org/doc/04-schema.md#repositories。私はそれがあなたのライブラリが直接必要とする依存関係のために働くことを知っていますが、再帰的にそれをテストしたことはありません(依存関係の依存関係)。 – stratedge