ホームページ > 開発ツール > composer > Composer でバージョンの一致を無視するように設定する方法

Composer でバージョンの一致を無視するように設定する方法

藏色散人
リリース: 2019-11-27 17:49:53
転載
6872 人が閲覧しました

composer による を使用した次のチュートリアル コラムでは、バージョンの一致を無視するように 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート