Pacotes de compositor privado - nenhum compositor.json válido foi encontrado

Eu estou tentando carregar uma biblioteca que tenho hospedado no BitBucket usando o compositor como explicado tanto nodocumentação oficial eAqui, mas continue recebendo o seguinte erro:

[Composer\Repository\InvalidRepositoryException]
No valid composer.json was found in any branch or tag of [repository URL], could not load a package from it.

Aqui está o meuprojeto composer.json:

{
    "name": "Project name",
    "require": {
        "my-vendor/my-package": "dev-master"
    },
    "repositories": [
        {
            "type": "vcs",
            "url": [repository URL]
        }
    ]
}

E aqui está o composer.json no meu repositório remoto (que aparentemente não pode ser encontrado):

{
    "name": "my-vendor/my-package",
    "version": "0.3",
    "autoload": {
        "psr-0": {
            "NS_": "src"
        }
    }
}

Eu devo mencionar que ambos os arquivos composer.json estão no diretório raiz como deveriam ser.

Algumas outras coisas para observar:

Eu também tentei a abordagem "pacote não compositor", por meio da qual eu especifico as informações do pacote no meu projeto composer.json, e omito o composer.json do meu repositório remoto, conforme descrito nodocumentação. Isso clona com êxito o ramo mestre, mas resulta no seguinte erro:

[RuntimeException]
Failed to execute git checkout "master" && git reset --hard "master"

fatal: Not a git repository (or any of the parent directories): .git

No entanto, o pacote é transferido para / vendor conforme esperado, por isso não sei por que está tentando fazer o checkout do mestre novamente.

Esta não é a maneira que eu gostaria de resolver este problema (como eu prefiro fazer uso de um composer.json no repositório remoto), mas pode ajudar a identificar um problema em outro lugar.

Obrigado por qualquer ajuda.

EDITAR

Eu consegui fazê-lo funcionar referenciando um package.json via HTTP:

"repositories": [
    {
        "type": "composer",
        "url": "http://localhost/packages.json"
    }
]

O pacote.json se parece com:

{
    "packages": {
        "vendor/my-package": {
            "dev-master": {
                "name": "vendor/my-package",
                "version": "dev-master",
                "source": {
                    "url": [repository URL],
                    "type": "git",
                    "reference": "master"
                }
            }
        }
    }
}

Esta é a única maneira de fazer isso funcionar? Parece um pouco exagerado hospedar meu próprio arquivo packages.json se eu vou usar apenas um ou dois pacotes internos.

Independentemente disso, isso está me dando o mesmo erro do Git que mencionei anteriormente.

EDIT 2

Forçar um erro (senha SSH inválida) fornece isto:

[RuntimeException]
Failed to execute git clone "[repository URL]" "C:\workspace\DFv3\vendor\vendor/my-package" && cd /D "C:\workspace\DFv3\vendor\vendor/my-package" && git remote add composer "[repository URL]" && git fetch composer

Então eu posso ver claramente o que está fazendo aqui. No entanto, parecedepois de este comando executacds no.git diretório e tenta executar:

git checkout "master" && git reset --hard "master"

Presumivelmente para se livrar da instância do compositor que ele puxou. No entanto, ele está executando isso no diretório errado e não consigo descobrir por que

questionAnswers(4)

yourAnswerToTheQuestion