我试图找到一种正确的方法来强制作曲者编译为 符号链接本地包。强制作曲者将符号链接本地包
我知道有一个问题How to force Composer to download a local package?但它不能回答我的问题。我需要确保它按预期工作,因为我将在CI工作流程中使用它。
有项目的composer.json像:
{
"name": "Some project",
"type": "project",
"minimum-stability": "dev",
"prefer-stable": true,
"repositories": [{
"type": "path",
"url": "packages/*/*"
}]
}
和包装的composer.json(包/样本/包):
{
"name": "Sample package",
"version": "1.0.0"
}
我们假设:
sample/package:1.0.0
发表在packagist(提交aaaaaa
) - 与未改性composer.json
sample/package
本地被检查出在提交bbbbbb
- 我不能修改
version
sample/package
的本地
命令1:
$ composer require sample/package
包是f蚀刻自packagist(版本1.0.0
,提交aaaaaa
)。
命令2:
$ composer require sample/package:@dev
包从本地版本的供应商目录符号链接(版本1.0.0
,提交bbbbbb
,符号链接)。
的问题是:
- 为什么命令1个下载包从packagist尽管
minimum-stability
选项?版本约束@dev
可让您执行不同的稳定性,但已使用项目配置将其降至dev
。 - 将命令2在每种情况下创建符号链接到本地包?
- 有没有比命令2更好的方法来确保本地软件包得到符号链接?