composer による を使用した次のチュートリアル コラムでは、バージョンの一致を無視するように Composer を設定する方法を紹介します。
Composer の概要
Composer は、PHP の依存関係管理ツールです。これにより、プロジェクトが依存するコード ライブラリを宣言でき、それらがプロジェクトにインストールされます。 Composer はパッケージ マネージャーではありません。はい、これには「パッケージ」と「ライブラリ」が含まれますが、プロジェクトごとに管理され、プロジェクト内の特定のディレクトリ (ベンダーなど) にインストールされます。デフォルトでは、グローバルには何もインストールされません。したがって、これは単なる依存関係の管理です。
composer install の実行中にエラーが発生しました: 要件をインストール可能なパッケージのセットに解決できませんでした。これは、composer.json で必要なバージョンが一致しないためです。
完全なエラーは次のとおりです:
vagrant@homestead:/usr/share/nginx/html/laravel-blog$ sudo composer install Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for doctrine/instantiator 1.0.3 -> satisfiable by doctrine/instantiator[1.0.3]. - doctrine/instantiator 1.0.3 requires php ~5.3 -> your PHP version (7.0.3) does not satisfy that requirement. Problem 2 - doctrine/instantiator 1.0.3 requires php ~5.3 -> your PHP version (7.0.3) does not satisfy that requirement. - phpunit/phpunit-mock-objects 2.3.0 requires doctrine/instantiator ~1.0,>=1.0.1 -> satisfiable by doctrine/instantiator[1.0.3]. - Installation request for phpunit/phpunit-mock-objects 2.3.0 -> satisfiable by phpunit/phpunit-mock-objects[2.3.0].
PHP 7 のバージョンが高すぎて、composer.json で必要なバージョンを満たしていないというメッセージが表示されますが、 PHP 7 で実行できるはずです はい、composer はバージョンの一致を無視するように設定できます。コマンドは次のとおりです:
composer install --ignore-platform-reqs or composer update --ignore-platform-reqs
パッケージを通常どおりインストールするには、composer コマンドを再度実行します。
警告が表示された場合:
Cannot create cache directory /home/vagrant/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache Cannot create cache directory /home/vagrant/.composer/cache/files/, or directory is not writable. Proceeding without cache
これは、Composer が仮想マシンで実行され、このディレクトリに書き込み権限がないことを示すメッセージが表示される場合です。Composer はダウンロードされたパッケージをキャッシュできないため、毎回再度ダウンロードされるので、ディレクトリを書き込み可能、読み取り可能に変更するだけです。
sudo chmod -R 777 /home/vagrant/.composer/cache/files/
また、仮想マシンの国内イメージとしてcomposerを設定しておかないと、ダウンロード速度が非常に遅くなりますので、
composer config -g repo.packagist composer https://packagist.phpcomposer.com
OKを実行すれば完了です。
以上がComposer でバージョンの一致を無視するように設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。