我正在使用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"
}
我在require
指令下添加了"intervention/helper": "dev-master"
,当我在网站的本地副本上执行composer update
时,一切都很好,我可以使用库。
我做了一个git push
和pull
,把它放到我的实时服务器上,当做composer update
时,它不会下载这个库。这是命令的全部输出:http://pastebin.com/UgPNTaDw
我还试了第二次composer install
和composer update
,但都不起作用。我还验证了git在实时服务器上检索到了新的composer.json
文件,并且已经检索到了。
为什么composer没有意识到更改并下载库?
除了你的日志确实告诉你"丢失"的库已经下载之外,我还有一些一般性的评论:
你确定要使用开发质量的每个库吗?因为这就是你用"最小稳定性"标志启用的:你允许来自库提供的任何开发分支的一切都处于可能中断的状态。
第二件事是:你应该只更新一次,在你的开发机器上!然后测试一切是否仍在工作,并提交composer.lock
文件!
然后将更改推送到任何需要的地方,只有composer install
,因为您可能想要与测试的库版本完全相同的库版本,而不是任何可能中断提交的稍新版本。
如果您只想将该特定库用作开发版本,则应该将该标志添加到版本要求中:
"intervention/helper": "dev-master@dev"
另一方面,这个库已经发布了版本,所以最好要求它们。。。