首页 > 解决方案 > Composer 在 vendor/package 文件夹中安装 mercurial .hg 目录

问题描述

我正在尝试使用 composer 来管理我本地托管的 PHP 库。即我有一个名为example/project的库,存储在C:\example\project

这些库使用 mercurial (hg) 进行版本控制。Mercurial 在名为 .hg 的文件夹中跟踪其所有更改。即C:\example\project\.hg。我将所有内容都保存在默认分支中。我使用标签进行版本更改,即 1.0.0、1.0.1 等,所以没什么特别的。

我想在另一个项目中使用该库。我为我的新项目 C:\new-project 创建了一个目录,并添加了一个 composer.json 文件,如下所示。我包含一个自定义存储库,以便作曲家知道在哪里可以找到该本地库。

{
    "repositories": [
        {
            "type": "hg",
            "url": "C:/example/project"
        }
    ],
    "require" : {
        "example/project" : "1.0.0"
    }
}

我运行 composer install 并将库安装到供应商文件夹,太好了。但是它也复制了 .hg 文件夹,这是我不想要的,我只想要文件,我做错了吗?

附加信息

如果我将存储库更改为路径。

{
    "repositories": [
        {
            "type": "path",
            "url": "C:/example/project"
        }
    ],
    "require" : {
        "example/project" : "dev-master"
    }
}

然后 composer 将安装没有 .hg 文件夹的库。这不是一个解决方案,因为它只会在 mercurial 中安装当前签出的提交(根据作曲家文档)。标记版本不起作用,只有 dev-master。它不会在不删除供应商文件夹的情况下安装任何更新。

标签: phpcomposer-phpmercurial

解决方案


推荐阅读