![](/img/trans.png)
[英]Composer install package from private GIT repository without the .git directory
[英]composer generates a .git directory with my package from GitLab
我有一个本地 GitLab 正在运行。
我在composer.json
中配置,从我的 gitlab 安装一个包或包,我做了那个部分,这很复杂,但我做到了。
我遇到的问题是,当作曲家下载我的模块时,作曲家克隆它而不是下载它,因此创建了一个.git/
文件夹,我不希望这样。
composer install -o --prefer-dist
我的composer.json
{
"config":{
"preferred-install": "dist",
"secure-http": false
},
"minimum-stability": "dev",
"repositories": [ {
"type": "git",
"url": "http://gitlab.local/GROUPNAME/REPOSITORY.git"
}],
"require": {
"GROUPNAME/REPOSITORY": "dev-master"
}
}
我尝试创建一个具有特定版本的标签,并在 composer.json 中添加该版本,但似乎没有什么是平等的
问题是 Composer 不知道如何从本地 Gitlab 实例下载打包的 ZIP 文件。 我什至不确定 Gitlab 是否有这方面的 API(但我没有看过)。
下载 ZIP 取决于以下两种情况之一:
在所有其他情况下,Composer 只能克隆存储库,因为这是它获得所需代码版本的唯一信息。
还有一种额外的方法可以自己创建下载,与列出可能在根composer.json
的“存储库”键中使用的所有私有存储库相比,它要优越得多:
根据您的情况,使用 Satis、本地 Packagist、Toran 代理或“Private Packagist”(在https://packagist.com/上)。
使用 Satis 可能是最简单的方法,因为它对基础架构的要求很少,它基本上为 HTTP 网络服务器创建静态文件。
我要补充一点,在阅读了一些 Composer 代码后,我怀疑通过在(全局)配置中设置gitlab-domains
并使用gitlab
而不是vcs
或git
作为存储库类型,您应该能够让 Composer 访问Gitlab API 为了下载 ZIP 而不是克隆 repo(请注意,Composer 在克隆后不会切换 repo,您必须删除vendor
文件夹,然后再安装/更新一次)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.