繁体   English   中英

不具有.git目录的Composer从私有GIT存储库安装软件包

[英]Composer install package from private GIT repository without the .git directory

我有一个项目X,它依赖于模块Y。它们都是我的私人项目。 每个人在bitbucket上都有自己的git存储库。 每个都有一个composer.json。

当我在项目X上运行composer install时,它会从其存储库中获取Y并将其推到X的vendor目录中。

问题在于它还会在vendor/jodes/Y/一个.git目录。

这是一个问题,因为某些东西会不断打开该.git目录中的文件,这意味着我的[持续集成]脚本无法在重复该过程时删除.git目录。 我认为这是我的IDE。

我如何才能使作曲家从存储库中获得Y,而无需建立`.git`目录?

X的composer.json是:

{
    "name": "jodes/X",
    "require": {
        "jodes/Y": "dev-master"
    },
    "repositories": [
        {
            "type": "vcs",
            "url": "https://Jodes@bitbucket.org/Jodes/Y.git"
        }
    ]
}

看来,作曲家基本上是运行git clone来从存储库中获取? 相反,有没有办法使其类似于git archive进入vendor目录? (而不是zip文件)。

作为一种解决方法,我尝试将我的IDE(Netbeans)配置为忽略.git目录,但是在尝试删除它时,我的脚本仍会收到“权限被拒绝”错误。

另外,我还想利用git archive的其他优点,例如能够指定文件或目录或其他将要从归档中排除的模式。

composer [install|update] --prefer-dist

应该可以。

默认情况下,尤其是在引用分支时,尤其是在引用分支(而不是标签(“版本”)时)时,作曲家更喜欢将依赖项作为源来获取。 如果指定--prefer-dist ,则明确告诉作曲家改用归档文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM