我正在使用Laravel框架,并希望包含一个来自GitHub的库。这是我的完整composer.json
文件:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/framework": "4.0.*",
"intervention/helper": "dev-master" <- this is what I've added
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/validators",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "dev"
}
我在"intervention/helper": "dev-master"
指令下添加了require
,当我在本地网站副本上composer update
时,一切正常,我可以使用该库。
我做了git push
和pull
将它放到我的实时服务器上,当执行composer update
时,它不会下载此库。这是命令的整个输出:http://pastebin.com/UgPNTaDw
我还第二次尝试composer install
和composer update
,但都没有奏效。我还验证了git在实时服务器上检索了新的composer.json
文件,并且它有。
为什么作曲家不识别这些变化并下载图书馆?
答案 0 :(得分:1)
除了您的日志确实告诉您下载了“缺失”库之外,我还有一些一般性评论:
您确定要在开发质量中使用每个库吗?因为这是您使用“最小稳定性”标志启用的:您允许从库中提供的任何开发分支中可能处于破坏状态的所有内容。
第二件事是:你应该只在你的开发机器上更新一次!然后测试一切仍然有效,并提交composer.lock
文件!
然后将该更改推送到您需要的任何位置,并且只有composer install
- 因为您可能想要使用您测试过的确切SAME库版本,而不是任何稍微更新的可能已损坏的提交。
如果您只想将该特定库用作开发版本,则应将该标志添加到版本要求中:
"intervention/helper": "dev-master@dev"
另一方面,这个库已经发布了版本,因此最好要求它们......