1

我正在尝试使用 Composer 将google-api-php-client库包含到我的项目中。最简单的方法是从 VCS 主干分支获取库,但我认为在我的情况下这不是最好的主意。更好的是指向一些稳定的库状态(标签或修订)。虽然没有可用的标签,但获得特定的 svn 修订版是唯一的选择。但我不知道该怎么做。

我尝试了不同的包配置,但没有成功,如下所示:

{
  "repositories":[
    {
        "type":"package",
        "package":{
            "name":"project/google-api-php-client",
            "version":"0.2.1",
            "source":{
                "type":"svn",
                "url":"http://google-api-php-client.googlecode.com/svn",
                "reference":"trunk/?r=515"
            }
        }
    }
  ]
}

是否可以使用作曲家签出 svn 修订版?提前致谢。

4

2 回答 2

1

在定义版本时使用包存储库,您可以在参考中指定修订。我的 wordpress composer.json 中的一个例子

{
    "repositories": [
        "type": "package",
        "package": {
            "name": "wordpress-plugin/wp-minify",
            "type": "wordpress-plugin",
            "version": "1.2",
            "source": {
                "type": "svn",
                "url": "http://plugins.svn.wordpress.org/wp-minify",
                "reference": "trunk@691320"
            },
            "require": {
                "composer/installers": "~1.0"
            }
        }
    ]
}

这会从主干安装插件,其中包含691320.

于 2013-04-03T19:48:54.757 回答
0

版本可以在需要部分设置(你没有显示)。

唯一可用的 SVN 选项是:

{
    "repositories": [
        {
            "type": "vcs",
            "url": "http://svn.example.org/projectA/",
            "trunk-path": "Trunk",
            "branches-path": "Branches",
            "tags-path": "Tags"
        }
    ]
}

看起来你想使用一个包,但你也可以只定义这个存储库和require适当的版本(你可以标记吗?这更容易)。

您也可以尝试将修订版放入version参数中,但我认为这不会奏效。

此外,文档说明了关于“主干”路径:

由于 Subversion 没有原生的分支和标签概念,因此 Composer 默认假定代码位于 $url/trunk、$url/branches 和 $url/tags 中。如果您的存储库具有不同的布局,您可以更改这些值。

于 2012-12-20T09:18:05.343 回答