在安裝一個開源專案時,作者本地用了 PHP 7.1 進行開發,而我本地是 PHP 7.0, 於是悲劇發生了,出現了這樣的錯誤:
requires php ^7.1 -> your PHP version (7.0.13) does not satisfy that requirement.
.
一、Composer 安裝包
composer install 之後報錯
vagrant@homestead:~/Code/sample$ 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.1.0 -> satisfiable by doctrine/instantiator[1.1.0].
- doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (7.0.13) does not satisfy that requirement.
Problem 2
- doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (7.0.13) does not satisfy that requirement.
- phpunit/phpunit-mock-objects 2.3.8 requires doctrine/instantiator ^1.0.2 -> satisfiable by doctrine/instantiator[1.1.0].
- Installation request for phpunit/phpunit-mock-objects 2.3.8 -> satisfiable by phpunit/phpunit-mock-objects[2.3.8].
二、解決方法
刪除 composer.lock
檔案,重新執行 composer install
,這樣就能重新生成 composer.lock
檔案了。
composer 包自動載入後,會生成一個 composer.lock
鎖檔案,所以,在從GitHub拉取別人的程式碼後,需要對這個檔案進行刪除。