Erro ao tentar executar o phan 2.x por causa do php-ast

Erro ao tentar executar o phan 2.x por causa do php-ast

Não consigo encontrar a solução sobre "ERRO: Phan 2.x requer php-ast 1.0.1+ porque depende da versão 70 do AST. php-ast 0.1.6 está instalado."

root@desk:/mnt/d/ibr/phan$ ./phan
ERROR: Phan 2.x requires php-ast 1.0.1+ because it depends on AST version 70. php-ast 0.1.6 is installed.
Exiting without analyzing files.

Responder1

A versão AST que vem no repositório oficial do PHP é muito antiga para funcionar com phan. Você tem 2 opções aqui:

  1. Execute phan com --allow-polyfill-parser parameter, que é significativamente mais lento, mas funciona sem instalar a extensão.

  2. Instale ast do pecl.

    Para Ubuntu 18.04 eu tive que fazer:

    sudo apt install php7.2-dev php-pear
    sudo pecl install ast`
    sudo phpenmod ast
    

    Para distros não baseadas em Debian, você precisa instalar phpizee peclexecutar pecl install astcomo root e então editar php.ini para adicionarextension=ast.so

informação relacionada