Composer常見錯誤解決方案


執行composer install遇到錯誤:Your requirements could not be resolved to an installable set of packages. 這是因為不匹配composer.json要求的版本。

完整錯誤如下:

1
2
3
4
5
6
7
8
9
10
11
12
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可以設置忽略版本匹配,命令是:

1
composerinstall --ignore-platform-reqs

或者

1
composerupdate --ignore-platform-reqs

再次執行composer命令可以正常安裝包了。

如果提示警告:

1
2
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

這是在虛擬機中執行composer,提示這個目錄沒有可寫權限,composer無法緩存下載的包,這樣就每次都得重新下載,把目錄改成可寫可讀即可。

1
sudo  chmod -R 777 /home/vagrant/.composer/cache/files/

另外,在虛擬機中也設置composer為國內鏡像,不然下載速度慢的要死,執行:

1
composerconfig -g repo.packagistcomposerhttps: //packagist.phpcomposer.com

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM