我们有自己的Satis存储库,我们可以在那里存储我们自己的依赖项。这很好。
但是如果开发人员使用的包不在我们自己的存储库中,那么Composer将通过packagist.org从GitHub获取它(作为后备)。
但我们不想依赖packagist.org。应从我们自己的存储库下载所有依赖项。
我们想知道的是,如果Satis可以从Packagist下载一个软件包,如果它还没有在本地可用,然后将其存储并自动添加到Satis自己的存储库中。
这样我们就不必手动将依赖项添加到Satis存储库。
答案 0 :(得分:15)
Satis现在支持这一点。
只需按照Satis setup instructions并将以下内容添加到配置文件中(默认情况下名为satisf.json)。
更新前缀-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。
答案 1 :(得分:6)
您现在可以使用broker来实现此目的。很可能这种能力将被添加到令人满意的地方。