从自定义 Gitlab 域安装时避免在作曲家的供应商中使用 .git 文件夹



我在GitLab管理的git存储库上有一个Symfony捆绑包。使用composer将捆绑包添加到Symfony中,并将gitlab作为附加存储库。

一切都很好,依赖关系被完美地跟踪,捆绑包确实按预期工作,但是,为了优化我的项目源,我希望避免将.git文件夹包含在vendor/my-org/my-bundle目录中。

以下是Symfony项目的composer.json示例:

{
[...]
"require": {
[...]
"my-org/my-bundle": "dev-master"
},
"config": {
"preferred-install": {
"*": "dist"
},
"sort-packages": true
},
"repositories": [
{
"type": "vcs",
"url": "https://mygitlab.mysite.com/author/my-bundle.git"
}
]
}

以及bundle的composer.json:

{
"name": "my-org/my-bundle",
"type": "symfony-bundle",
"description": "blabla",
"keywords": ["symfony", "bundle"],
"license": "MIT",
"authors": [
{
"name": "ME Myself",
"role": "Developper"
}
],
"readme": "README.md",
"require": {
"php": ">=7.1.3",
"symfony/security-bundle": "4.4.*",
"symfony/config": "4.4.*",
"symfony/dependency-injection": "4.4.*",
"symfony/http-foundation": "4.4.*",
"symfony/http-kernel": "4.4.*",
"symfony/routing": "4.4.*",
"symfony/event-dispatcher": "4.4.*",
"symfony/property-access": "4.4.*",
"symfony/ldap": "4.4.*",
"psr/log": "^1|^2|^3"
},
"require-dev": {
"phpunit/phpunit": "^7"
},
"suggest": {
"symfony/phpunit-bridge": "^5.2"
},
"autoload": {
"psr-4": {
"Foo\Bar\": "src/Foo/Bar/"
}
}
}

附加信息:

  • 我试图设置存储库类型(在项目编辑器中为gitlab/github(,但两者都缺少驱动程序;只有git有效
  • 我尝试了命令composer install --prefer-dist,但没有成功(仍然包括.git(
  • composer版本:2.1.6
  • 用户UI下载zip/tar/。。。gitlab的按钮提供了一个不包括.git/.gitignore的存档

您的域没有被识别为GitLab域,然后该包只是从Git存储库中克隆出来。

您应该将域配置为GitLab域,以便Composer知道使用Gtlab API。

除非配置其他域,否则只有gitlab.com被视为GitLab域。

https://getcomposer.org/doc/06-config.md#gitlab-域

在我看来,配置应该在config.gitlab-domains中。类似的东西

{
"config": {
"gitlab-domains": [
"mygitlab.mysite.com"
]
}
}

相关内容

  • 没有找到相关文章

最新更新