我们已经开始使用Satis作为私人作曲家存储库。
一切进展顺利 - 除了我们无法弄清楚的事情。
-
当我们运行satisf build时,它会生成json和zips来下载。
我们的配置类似于
{
"name": "Premium Repositories",
"homepage": "https://some-website.com",
"require-all": false,
"repositories": [
{
"type": "vcs",
"url": "git@bitbucket.org:our-repo.git"
}
],
"archive": {
"directory": "dist"
}
}
它生成的json包含类似
的内容"some/package": {
"dev-master": {
"name": "some/package",
"version": "dev-master",
"version_normalized": "9999999-dev",
"source": {
"type": "git",
"url": "git@bitbucket.org:selesti/some-package.git",
"reference": "db0abb6a6983738d768b64684f82d178059b85b4"
},
"dist": {
"type": "zip",
"url": "https://some-domain/dist/some/package/some-package-dev-master-ec67bc.zip",
"reference": "db0abb6a6983738d768b64684f82d178059b85b4",
"shasum": "f04821a159f6f19ea6e5be8624d88f32b168e205"
},
"require": {
"magento/framework": ">=100.0.0",
"php": "~5.5.0|~5.6.0|>=7.0.0",
"some/core": ">=3.0.0"
},
"time": "2018-02-16T09:00:56+00:00",
"type": "magento2-module"
}
}
我们可以从中清楚地看到它包含拉链和来源。
这似乎意味着当我们运行composer install
时,它会首先尝试安装源版本 - 由于它没有读取权限而失败 - 然后它会回落到dist,这是有效的。
如果source
中有composer.lock
字段,这是作曲家的自然行为吗? - 如果是这样,是否可以满足不生成源对象,因此它会自动直接转到dist
键?
由于
答案 0 :(得分:0)
我不确定您是否可以从Satis输出中排除source
repos,但作为替代方案,您可以告诉Composer默认使用dist
repos,其配置类似于:
{
"config": {
"preferred-install": "dist"
}
}
您还可以按照docs逐个包指定preferred-install
配置:
{
"config": {
"preferred-install": {
"my-organization/stable-package": "dist",
"my-organization/*": "source",
"partner-organization/*": "auto",
"*": "dist"
}
}
}