Trabalhando recentemente com o PHP Composer em um projeto que tem como base o framework Laravel, me deparei com o erro: Invalid version string
.
Mais precisamente ao realizar a tentativa de instalar um pacote Laravel que me permite utilizar modelos com a estratégia lógica do Eloquent para acessar bancos de dados MongoDB.
O nome do pacote é Laravel MongoDB, criado por Jens Segers, podendo ser encontrado no repositório Github jenssegers/laravel-mongodb.
A mensagem completa de erro à seguir foi exibida em meu console:
[UnexpectedValueException]
Could not parse version constraint ^1.0.1: Invalid version string "^1.0.1"
O motivo real do erro não foi possível identificar, porém, a solução é simples, principalmente se sua instalação do PHP Composer está utilizando ainda a versão 1.x.
Solução pra o erro “Invalid version string” do PHP Composer
Eu resolvi o problema mantendo o PHP Composer atualizado, para tanto, execute a auto-atualização do Composer e tente novamente a instalação do pacote desejado:
composer selfupdate
A instalação do pacote deve ser executada após a atualização do composer finalizar, no meu caso utilizei o comando a seguir na linha de comando do terminal:
composer require jenssegers/mongodb
O comando acima resultou na seguinte saída de mensagens no console de meu terminal:
Using version ~2.1 for jenssegers/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing jenssegers/mongodb (v2.1.3)
Downloading: 100%
jenssegers/mongodb suggests installing jenssegers/mongodb-session (Add MongoDB session support to Laravel-MongoDB)
jenssegers/mongodb suggests installing jenssegers/mongodb-sentry (Add Sentry support to Laravel-MongoDB)
E voilá, resolvido o problema de erro invalid string version, está relacionado à uma versão desatualizada do composer PHP instalado em seu computador ou servidor.
Note que o ideal é que você esteja executando a versão mais recente do Composer, a v2.x.
Porém, em alguns contextos as atualizações de versões de sistemas e ferramentas não permitem a atualização tão frequente sem antes passar por análises e homologações. É o caso de empresas com grande volume de sistemas executando em servidores internos nas suas infra-estruturas.
Espero que a dica ajude-o a resolver questões similares.
Comentários