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.
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": "*"
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.