Eu tenho lidado com essa questão por semanas.
Acho que a solução é executar a auto-atualização do compositor com o -H
sudo -H composer self-update
Antes de fazer isso, certifique-se de remover os diretórios .composer em root e o diretório inicial do usuário que você deseja executar o compositor.
sudo rm -rf /root/.composer
sudo rm -rf /home/ubuntu/.composer
A execução da autoatualização do sudo composer sem o sinalizador -H criará ~ / .composer de propriedade do root e impedirá que outros comandos do compositor tenham erros de permissão.
composer config
composer install
Na minha opinião, a chamada autoatualização do sudo composer não deve criar arquivos de propriedade do root no diretório inicial dos usuários atuais.
Note que se você seguir estas instruções no Ubuntu 14.04 o compositor colocará o cache em:
~/.cache/composer
Em vez de:
~/.composer/cache
Isso se deve à variável de ambiente XDG_RUNTIME_DIR definida no Ubuntu 14.04, mas não parece estar definida no Ubuntu 12.04
Uma discussão relacionada aqui