Sempre que queremos instalar packages privados usando o composer, nos precisamos setar o local que esse package está hospedado usando o repository no composer.json, nesse formato:

    "repositories": [
        {
            "type": "vcs",
            "url":  "git@github.com:gustavoandrade/nome-repositorio.git"
        }
    ],
    ...

Com o repositório setado corretamente, podemos usar o comando padrão do composer instalar nosso package:

composer require gustavoandrade/repositorio

Mas as vezes nem tudo são flores, o composer pode indicar um error informando que o package não foi encontrado, isso pode está acontecendo por causa do composer.lock!

composer.lock

O composer.lock é um arquivo que guarda exatamente quais foram as versões instaladas no seu vendor a partir do que foi indicado pelo composer.json.
Assim que você inicia um novo projeto com composer.json, você ainda não tem o composer.lock, mas quando o comando composer install é feito, o composer.lock é criado salvando exatamente quais foram as versões instaladas, assim, caso você delete o seu vendor, e rode um composer install novamente, o composer deve procurar no composer.lock quais são as versões que devem ser instaladas, isso é muito útil caso você trabalhe em um projeto em grupo e deseja que todos os usuários usam a mesma versão de dependências, nesse caso o composer.lock é adicionado ao versionamento.

O problema é que ele pode está impedindo a atualização do seu repositories, e a forma mais simples de atualizar isso é deletando o composer.lock, e rodando o composer install novamente.

Deletar o composer.lock pode não ser recomendado dependendo do seu modo de trabalho.