執(zhí)行composer install遇到錯誤:Your requirements could not be resolved to an installable set of packages. 這是因為不匹配composer.json要求的版本续誉。
完整錯誤如下:
vagrant@homestead:/usr/share/nginx/html/laravel-blog$ sudocomposerinstall
Loadingcomposerrepositorieswithpackage information
Installingdependencies (includingrequire-dev) fromlockfile
Yourrequirementscouldnot 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
再次執(zhí)行composer命令可以正常安裝包了。
如果提示警告:
Cannotcreatecachedirectory /home/vagrant/.composer/cache/repo/https---packagist.org/, or directoryis not writable. Proceedingwithoutcache
? Cannotcreatecachedirectory /home/vagrant/.composer/cache/files/, or directoryis not writable. Proceedingwithoutcache
這是在虛擬機中執(zhí)行composer呆贿,提示這個目錄沒有可寫權限杂腰,composer無法緩存下載的包,這樣就每次都得重新下載趾娃,把目錄改成可寫可讀即可缭嫡。
sudo chmod -R 777 /home/vagrant/.composer/cache/files/
另外,在虛擬機中也設置composer為國內(nèi)鏡像抬闷,不然下載速度慢的要死妇蛀,執(zhí)行:
composerconfig -g repo.packagistcomposerhttps://packagist.phpcomposer.com
OK,大功告成笤成。