2013-11-28 93 views
0

我正在使用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 pushpull把它拿到我的现场服务器上,当做一个composer update它不下载这个库。这是命令的全部输出:http://pastebin.com/UgPNTaDw

我也试过composer installcomposer update第二次,但都没有工作。我也验证过,git在实时服务器上检索了新的composer.json文件,并且它已经。

为什么作曲家不能识别变化并下载库?

+1

貌似日志说,在对面线24: - 安装介入/帮手(DEV-主ad8b992) 你肯定作曲家没有下载? –

回答

1

除了这个事实,你的日志不正是告诉你“失踪”库被下载,我有一些一般性评论:

你确定你想使用开发质量的每个库?因为这就是你用“最小稳定性”标志启用的东西:你可以从库提供的任何开发分支中允许一切可能处于破坏状态。

而第二件事是:你应该只在你的开发机器上更新一次!然后测试一切仍然正常,并提交composer.lock文件!

然后将这个变化推到任何你需要它的地方,并且这里只有composer install--因为你可能想要测试的确切的SAME库版本,而不是任何稍微更新以及可能被破坏的提交。

如果你只想使用特定的库作为开发版本,你应该是标志添加到版本要求:

"intervention/helper": "[email protected]" 

在另一方面,该库已发布的版本,所以它可能会更好要求他们...

+0

感谢您的解释。说实话,我对作曲家不是很熟悉,也不确定使用它的最佳方式。你所说的话似乎是一个明智的方式。 –