2012-11-07 43 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