2

satis または composer の設定に問題があります。私がこれまでにできたこと:

1: "common" という SVN リポジトリを作成しました。いくつかのタグ (1.0、1.1) があります。各タグには独自の composer.json ファイルがあります。

{
    "name": "acme/common",
    "version": "1.0"
}

SVN URL: http://svn.local.acme.com/svn/common

2: satis.json から composer リポジトリを作成しました:

{
    "name": "Acme",
    "homepage": "http://dev.local.acme.com/satis/web",
    "repositories": [
        { "type": "vcs", "url": "http://svn.local.acme.com/svn/common" }
    ],
    "require-all": true
}

すべてのタグを web/packages.json にプルしました。

{
    "packages": {
        "acme/common": {
            "1.0": {
                "name": "acme/common",
                "version": "1.0",
                "version_normalized": "1.0.0.0",
                "source": {
                    "type": "svn",
                    "url": "http://svn.local.acme.com/svn/common",
                    "reference": "/tags/1.0/@2"
                },
                "type": "library"
            },
            "1.1": {
                "name": "acme/common",
                "version": "1.1",
                "version_normalized": "1.1.0.0",
                "source": {
                    "type": "svn",
                    "url": "http://svn.local.acme.com/svn/common",
                    "reference": "/tags/1.1/@5"
                },
                "type": "library"
            }
        }
    }
}

サティス URL: http://dev.local.acme.com/satis/web

3: 私のプロジェクトでは、composer.json で "acme/common" を要求したい (1.0 としましょう):

{
    "require": {
        "acme/common": "1.0"
    },

    "repositories": [
        {
            "type": "composer",
            "url": "http://dev.local.acme.com/satis/web"
        }
    ]
}

1.0 タグは正常にプルされますが、require を「1.1」に変更して実行するcomposer.phar updateと、エラーが発生します。

[RuntimeException]                                                                                                                                                                        
  Package could not be downloaded, svn: E195012: Path '.' does not share common version control ancestry with the requested switch location.  Use --ignore-ancestry to disable this check.  
  svn: E195012: 'http://svn.local.acme.com/svn/common/tags/1.3' shares no common ancestry with '/home/user/acid.dev.local.acme.com/composer/vendor/acme/common'   

ここでの問題は、最初に (作曲家のインストール) インポート インポートではなくタグをチェックアウトすることだと思います。このエラーは、ベンダー ディレクトリが SVN バージョン (.svn フォルダーがある) であることを示しています。そうあるべきではないと思います。

4

0 に答える 0