我是tp5.1下,用composer安裝擴展包,在命令行運行,無任何不反應,不下載也不報錯,這時,我們先ctrl+c退出執行的命令,然后在tp5.1根目錄下,找到composer.json文件,並用編輯器打開,在最后追加上如下內容:
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
保存退出,然后在cmd命令行執行運行命令,就ok了。
composer安裝擴展包時,可以設置忽略版本匹配,命令如下:
composer install --ignore-platform-reqs
如果不知道擴展包的具體版本,可以寫 * ,* 會下載最新的版本
"require": {
"topthink/think-helper":"*"
},
或者寫 dev-master,dev-master作者也是很懵逼
"require": {
"topthink/think-helper":"dev-master"
},
再或者隨便填寫一個不存在的版本,cmd命令執行的時候,會報錯,這時會提示該擴展包有哪些版本號,如作者填寫的是 1.0 版本,當然這個版本執行的時候會報錯並列出改擴展包都有哪些版本
"require": {
"topthink/think-helper":"1.0"
},
然后填寫到composer.json文件里,然后在命令行進行執行 composer update,就會進行安裝,ok了。
安裝報錯
錯誤如下:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- overtrue/http 1.0.1 requires php >=7.0 -> your PHP version (5.6.34) does not satisfy that requirement.
- overtrue/http 1.0.0 requires php >=7.0 -> your PHP version (5.6.34) does not satisfy that requirement.
- overtrue/sendcloud 1.0.0 requires overtrue/http dev-master -> satisfiable by overtrue/http[dev-master] but these conflict with your requirements or minimum-stability.
- overtrue/sendcloud 1.0.1 requires overtrue/http ^1.0 -> satisfiable by overtrue/http[1.0.0, 1.0.1].
- Installation request for overtrue/sendcloud ^1.0 -> satisfiable by overtrue/sendcloud[1.0.0, 1.0.1].
Installation failed, reverting ./composer.json to its original content.
這是因為php版本不匹配,如下執行命令,進行忽略版本
composer install --ignore-platform-reqs
或者
composer update --ignore-platform-reqs
再次執行composer命令可以正常安裝包了。