我正在尝试对必须通过create-project
命令启动的composer项目进行测试。我已经可以通过在所讨论的仓库中手动创建packages.json
文件来做到这一点:
{
"package": {
"name": "me/my-project",
"version": "1.0.0",
"source": {
"url": "/literal/filepath/to/repo/root/.git",
"type": "git",
"reference": "feature/branch_being_tested"
}
}
}
然后通过运行像这样的create-project命令:
rm -rf ~/.composer/cache/vcs/; composer create-project me/my-project
第一步是为作曲家清除本地版本控制缓存,这样,如果我在本地对分支进行了更改,则作曲家缓存将识别出更改(一个人也可以执行composer clearcache
,但是重建需要花费更长的时间。
我想做的是能够使用我的本地satis服务器为我跟踪此情况,因此我不必指定存储库URL。
我已经在作曲家的composer.json
文件中为我的satis服务器建立了一个条目,如下所示:
{
"repositories": [
{
"type": "composer",
"url": "https://satis-server.local",
"options": {
"ssl": {
"verify_peer": true,
"allow_self_signed": true
}
}
}]
}
(这很好;我添加它是为了完整性)。
我的satis.json看起来像这样:
{
"name": "My Local Satis Repository",
"homepage": "https://satis-server.local",
"repositories": [{
"type": "package",
"package": {
"name": "me/my-project",
"version": "1.0.0",
"source": {
"url": "/literal/filepath/to/repo/root/.git",
"type": "git",
"reference": "feature/branch_being_tested"
}
}
}],
"require-all": true,
"require-dependencies": false,
"require-dev-dependencies": false,
}
这很好,但是尝试从中创建项目时出现异常:
[InvalidArgumentException]
Could not find package me/my-project with stability stable.
我也尝试过:
{
"type": "git",
"url": "file:///literal/filepath/to/repo/root/.git"
}
这让我:
[Composer\Repository\InvalidRepositoryException]
No valid composer.json was found in any branch or tag of file:///literal/filepath/to/repo/root/.git.git, could not load a package from it.
很明显,我在解释一些实际错误,但是您明白了。
在file
配置中声明本地存储库(通过url
而不是satis.json
的正确语法是什么?