我是Composer的新手,我已经使用https://getcomposer.org/doc/05-repositories.md#subversion-options结构来创建使用Composer的示例。
Howerver,使用命令composer install时,我收到有关Composer和SVN的错误消息:
[InvalidArgumentException]
找不到驱动程序来处理VCS存储库http://myexamplesvn/MyCommon-1.0/ .....
这是我的设置:
"repositories": [
{
"type": "vcs",
"url": "http://myexamplesvn/MyCommon-1.0/"
}
],
"require": {
"my-common/my-common":"*"
}
你能提供我任何想法或建议吗?
答案 0 :(得分:8)
使用HTTPS地址时,我遇到了与github repo类似的问题:
{
"type": "vcs",
"url": "https://github.com:<user>/<repo>"
}
但使用SSH .git
路径对我有用:
{
"type": "vcs",
"url": "git@github.com:<user>/<repo>.git"
}
如果您使用的回购没有composer.json
,那么带有此类代码的composer.json
可能会有效:
"require": {
"<user>/<repo>": "dev-<branch>"
},
"repositories": [
{
"type": "package",
"package": {
"name": "<user>/<repo>",
"version": "dev-<branch>",
"dist": {
"url": "https://github.com/<user>/<repo>/archive/<branch>.zip",
"type": "zip"
}
}
}
]
答案 1 :(得分:0)
如果您的提包在本地,请确保
git init
并提交
答案 2 :(得分:0)
这可能有很多不同的可能性,但是当您的存储库与ssh私钥/公钥链接并且私钥不受保护时,也会发生这种情况。解决方案是将其设置为600,如下所示:
1234
答案 3 :(得分:0)
我刚刚发现,此问题的另一个来源可能只是对目标SVN存储库的访问权限。
我在composer.json中进行了以下设置以连接到存储库:
"repositories": [
{
"type": "vcs",
"url": "https://host.com/RepositoryName/",
"trunk-path": "trunk",
"branches-path": "branches",
"tags-path": "tags"
}
],
"http-basic": {
"host.com": {
"username": "(username)",
"password": "(password)"
}
},
"require": {
"company/project": "dev-branchname"
},
问题是在http-basic部分中定义的用户无权浏览整个存储库。 SVN管理员只限制了对目标分支的访问。
这当然是一个极端的情况,但是我认为在尝试搜索更多异常原因之前,检查存储库的访问权限仍然是一个好主意。