dopgv00024 2019-08-02 14:49
浏览 84
已采纳

作曲家使用本地Git捆绑,因为它会Git回购

I have a scenario in which the machine I'm deploying to doesn't have direct access to the Git repo. So the solution is that I have a Git bundle of my repo copied locally to the machine where the code will deploy.

So it looks like this.

/var/local/repos/MyGitRepo/MyGitRepo.git

If I want to use this with the normal git client, I could do

git clone /var/local/repos/MyGitRepo/MyGitRepo.git MyGitRepo

And I have a checkout of the MyGitRepo in the MyGitRepo directory.

My question is, when I use composer to install the MyGitRepo, I have to refer to the MyGitRepo checked out Git repo, rather than the /var/local/repos/MyGitRepo/MyGitRepo.git

So the repositories looks like this:

{
 "type" : "vcs",
  "url" : "/where/i/put/MyGitRepo"
}

This works, but can't I just point composer to the git repo rather than the checked out git repo?

I feel like this should work:

{
 "type" : "vcs",
  "url" : "/var/local/repos/MyGitRepo/MyGitRepo.git"
}

I get this problem reported.

The requested package mygitrepo could not be found in any version, there may be a typo in the package name.

If I have to point composer to a checked out local repo, that's fine, but it seems like I should be able to use that .git bundle as I would any Git repo.

  • 写回答

1条回答 默认 最新

  • donglaoping9702 2019-08-02 17:27
    关注

    You can use the path type of repo to create a symlink in your vendor folder that will point to your clone. Taken from the docs:

    {
        "repositories": [
            {
                "type": "path",
                "url": "/var/local/repos/MyGitRepo/MyGitRepo.git"
            }
        ],
        "require": {
            "my/package": "*"
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料