我们有自己的Satis存储库,我们可以在那里存储我们自己的依赖项。这可以很好地工作。
但是如果开发人员使用的包不在我们自己的存储库中,那么Composer将通过packagist.org从GitHub获取它(作为后备)。
但是我们不想依赖于packagist.org。所有依赖项都应该从我们自己的存储库中下载。
我们想知道的是,如果可能的话,Satis从Packagist下载一个包,如果它还不是本地可用的,然后存储它并自动将其添加到Satis自己的存储库。
这样,我们就不必手动将依赖项添加到Satis存储库。
发布于 2013-07-27 03:38:45
Satis现在支持这一点。
只需遵循Satis setup instructions并将以下内容添加到您的配置文件(默认名称为satis.json )。更新prefix-url并根据需要进行更新。
{
"repositories": [
{ "type": "composer", "url": "https://packagist.org" }
],
"require-dependencies": true,
"require": {
{{your application dependencies from composer.json}}
},
"archive": {
"directory": "dist",
"prefix-url": "{{your server}}",
"skip-dev": true
}
}然后,您可以像普通一样创建您的Satis存储库:
php bin/satis build <configuration file> <build dir>现在,您的Satis存储库将满足应用程序的所有依赖项。
注意:第一次运行可能需要一段时间。后续的运行速度要快得多。另外,请注意Satis使用/tmp作为其缓存。在/tmp由tmpfs支持的小型内存系统上,如果您有一个大型依赖关系树,则可能需要增加/tmp可用的空间。
您可能还希望在项目的composer.json文件中使用disable the Packagist repository,以强制要求所有依赖项都来自Satis存储库。要执行此操作,请添加:
{
"repositories": [
{
"packagist": false
}
]
}添加到项目的composer.json。
发布于 2012-08-10 00:16:46
目前,您可以使用broker来实现这一点。最有可能的情况是,添加此功能是为了满足自己的需求。
https://stackoverflow.com/questions/11759347
复制相似问题