2012-11-07 41 views
1

我已經設置了我的本地SVN回購以保存所有外部回購(公司政策),使用Satis我創建了packages.json文件。當我運行作曲家更新如何告訴它使用我的自定義packages.json文件,並從我的本地回購而不是外部拉?作曲家不讀我當地的Satis packages.json文件

這是對我的SVN回購協議是在packages.json文件導語:

"source": { 
    "type": "svn", 
    "url": "http://blah/packagist/foo/bar", 
    "reference": "/tags/2.3.0/@38" 
} 

,但我會用它來檢查這個項目出來的網址是:

http://blah/packagist/foo/bar/tags/2.3.0  

在我的composer.json文件我也添加了這個:

"repositories": [ 
    { 
     "packagist": false, 
     "type": "composer", 
     "url": "http://local/packages.json" 
    } 
] 

但它仍然從git拉入,而不是我的svn回購, 我究竟做錯了什麼???

回答

5

第一步是正確禁用packagist這樣的:

"repositories": [ 
    { "packagist": false }, 
    { 
     "type": "composer", 
     "url": "http://local/packages.json" 
    } 
] 

那麼我想,如果在你的本地回購不存在你所需要的軟件包,你可能會得到一個錯誤。也就是說,如果它沒有拿起它,那可能意味着你的滿意回購沒有包含你需要的所有包,因爲如果他們在那裏,他們應該優先於包裝的回購。如果你只有標籤,雖然它可能會選擇packagist,因爲它們包含dev-master和更高的prio版本。

+0

做了它的OMG'{「packagist」:false},'頭痛正在消失!我認爲我對文檔感到困惑:http://getcomposer.org/doc/articles/handling-private-packages-with-satis.md和http://getcomposer.org/doc/05-repositories.md –

+0

很公平,我可以看到,如果你不太關注物體周圍有數組的事實,這可能會產生誤導。 – Seldaek