dopgv00024
2019-08-02 14:49
浏览 69

作曲家使用本地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.

图片转代码服务由CSDN问答提供 功能建议

我有一个场景,我正在部署的机器无法直接访问Git仓库。 所以解决方案是我将我的repo的Git包本地复制到代码将部署的机器上。

所以它看起来像这样。 < p> /var/local/repos/MyGitRepo/MyGitRepo.git

如果我想将它与普通的git客户端一起使用,我可以做到

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

我在结账时检查了MyGitRepo MyGitRepo目录。

我的问题是,当我使用composer安装MyGitRepo时,我必须参考MyGitRepo检出Git repo,而不是 / var / local /repos/MyGitRepo/MyGitRepo.git

nn

所以存储库看起来像这样:

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

这有效,但我不能 将作曲家指向git repo而不是签出的git repo?

我觉得这应该可行:

  {
“ 键入“:”vcs“,
”url“:”/ var / local / repos / MyGitRepo /  MyGitRepo.git“
} 
   
 
 

我报告了此问题。

请求的包mygitrepo 无法在任何版本中找到, 包名中可能有拼写错误。

如果我必须将作曲家指向签出的本地仓库, 这没关系,但似乎我应该能够像使用任何Git仓库一样使用.git捆绑包。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

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": "*"
        }
    }
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题