2013-11-28 92 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

感謝您的解釋。說實話,我對作曲家不是很熟悉,也不確定使用它的最佳方式。你所說的話似乎是一個明智的方式。 –