ホームページ >バックエンド開発 >PHPチュートリアル >Composer 設定はバージョン一致を無視します
コンポーザーのインストールを実行中にエラーが発生しました: 要件をインストール可能なパッケージのセットに解決できませんでした。これは、composer.json で必要なバージョンが一致しないためです。
完全なエラーは次のとおりです:
vagrant@homestead:/usr/share/nginx/html/laravel-blog$ sudocomposerinstallLoadingcomposerrepositorieswithpackage informationInstallingdependencies (includingrequire-dev) fromlockfileYourrequirementscouldnot beresolvedto aninstallablesetofpackages. Problem 1 - Installationrequestfor doctrine/instantiator 1.0.3 -> satisfiablebydoctrine/instantiator[1.0.3]. - doctrine/instantiator 1.0.3 requiresphp ~5.3 -> yourPHPversion (7.0.3) doesnot satisfythatrequirement. Problem 2 - doctrine/instantiator 1.0.3 requiresphp ~5.3 -> yourPHPversion (7.0.3) doesnot satisfythatrequirement. - phpunit/phpunit-mock-objects 2.3.0 requiresdoctrine/instantiator ~1.0,>=1.0.1 -> satisfiablebydoctrine/instantiator[1.0.3]. - Installationrequestfor phpunit/phpunit-mock-objects 2.3.0 -> satisfiablebyphpunit/phpunit-mock-objects[2.3.0].
PHP 7 のバージョンが高すぎて、composer.json で必要なバージョンを満たしていないというメッセージが表示されますが、PHP 7 で実行できるはずです。Composer は次のとおりです。バージョンの一致を無視するように設定します。 コマンドは次のとおりです:
composerinstall --ignore-platform-reqs
or
composerupdate --ignore-platform-reqs
パッケージを通常どおりインストールするには、composer コマンドを再度実行します。
警告が表示される場合:
Cannotcreatecachedirectory /home/vagrant/.composer/cache/repo/https---packagist.org/, or directoryis not writable. ProceedingwithoutcacheCannotcreatecachedirectory /home/vagrant/.composer/cache/files/, or directoryis not writable. Proceedingwithoutcache
これは、Composer が仮想マシンで実行されるときであり、このディレクトリに書き込み可能なアクセス許可がないことを示すプロンプトが表示され、Composer はダウンロードされたパッケージをキャッシュできないため、毎回再度ダウンロードする必要があります。ディレクトリは書き込み可能に変更されます。
sudochmod -R 777 /home/vagrant/.composer/cache/files/
さらに、composer を仮想マシンの国内イメージとして設定します。そうしないと、ダウンロード速度が非常に遅くなります。
composerconfig -g repo.packagistcomposerhttps://packagist.phpcomposer.com
OK、完了です。