获取错误"找不到驱动程序来处理VCS存储库"在Composer和SVN上

时间:2014-06-27 03:07:20

标签: php svn composer-php

我是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":"*"
}

你能提供我任何想法或建议吗?

4 个答案:

答案 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管理员只限制了对目标分支的访问。

这当然是一个极端的情况,但是我认为在尝试搜索更多异常原因之前,检查存储库的访问权限仍然是一个好主意。