Hello
I try to init psalm:
./vendor/bin/psalm.phar --init --debug-by-line
And I get an error:
var/www/backend/vendor/symfony/cache/Traits/RedisTrait.php:496
Uncaught InvalidArgumentException: Could not get class storage for predis\connection\aggregate\clusterinterface in /root/vendor/vimeo/psalm/src/Psalm/Internal/Provider/ClassLikeStorageProvider.php:42
Stack trace:
#0 /root/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/ClassLikes.php(530): Psalm\Internal\Provider\ClassLikeStorageProvider->get('predis\\connecti...')
#1 /root/vendor/vimeo/psalm/src/Psalm/Codebase.php(679): Psalm\Internal\Codebase\ClassLikes->classImplements('predis\\connecti...', 'Traversable')
#2 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Block/ForeachAnalyzer.php(749): Psalm\Codebase->classImplements('Predis\\Connecti...', 'Traversable')
#3 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Block/ForeachAnalyzer.php(608): Psalm\Internal\Analyzer\Statements\Block\ForeachAnalyzer::handleIterable(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(Psalm\Type\Atomic\TNamedObject), Object(PhpParser\Node\Expr\Variable), Object(Psalm\Codebase), Object(Psalm\Context), NULL, NULL, true)
#4 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Block/ForeachAnalyzer.php(216): Psalm\Internal\Analyzer\Statements\Block\ForeachAnalyzer::checkIteratorType(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\Foreach_), Object(Psalm\Type\Union), Object(Psalm\Codebase), Object(Psalm\Context), NULL, NULL, false)
#5 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(479): Psalm\Internal\Analyzer\Statements\Block\ForeachAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\Foreach_), Object(Psalm\Context))
#6 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(169): Psalm\Internal\Analyzer\StatementsAnalyzer::analyzeStatement(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\Foreach_), Object(Psalm\Context), NULL)
#7 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Block/IfAnalyzer.php(788): Psalm\Internal\Analyzer\StatementsAnalyzer->analyze(Array, Object(Psalm\Context))
#8 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Block/IfAnalyzer.php(356): Psalm\Internal\Analyzer\Statements\Block\IfAnalyzer::analyzeIfBlock(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\If_), Object(Psalm\Internal\Scope\IfScope), Object(Psalm\Internal\Scope\IfConditionalScope), Object(Psalm\Context), Object(Psalm\Context), Object(Psalm\Context), Array)
#9 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(467): Psalm\Internal\Analyzer\Statements\Block\IfAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\If_), Object(Psalm\Context))
#10 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(169): Psalm\Internal\Analyzer\StatementsAnalyzer::analyzeStatement(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\If_), Object(Psalm\Context), NULL)
#11 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Block/IfAnalyzer.php(788): Psalm\Internal\Analyzer\StatementsAnalyzer->analyze(Array, Object(Psalm\Context))
#12 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Block/IfAnalyzer.php(356): Psalm\Internal\Analyzer\Statements\Block\IfAnalyzer::analyzeIfBlock(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\If_), Object(Psalm\Internal\Scope\IfScope), Object(Psalm\Internal\Scope\IfConditionalScope), Object(Psalm\Context), Object(Psalm\Context), Object(Psalm\Context), Array)
#13 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(467): Psalm\Internal\Analyzer\Statements\Block\IfAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\If_), Object(Psalm\Context))
#14 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(169): Psalm\Internal\Analyzer\StatementsAnalyzer::analyzeStatement(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\If_), Object(Psalm\Context), Object(Psalm\Context))
#15 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FunctionLikeAnalyzer.php(606): Psalm\Internal\Analyzer\StatementsAnalyzer->analyze(Array, Object(Psalm\Context), Object(Psalm\Context), true)
#16 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClassAnalyzer.php(1948): Psalm\Internal\Analyzer\FunctionLikeAnalyzer->analyze(Object(Psalm\Context), Object(Psalm\Internal\Provider\NodeDataProvider), Object(Psalm\Context))
#17 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClassAnalyzer.php(1622): Psalm\Internal\Analyzer\ClassAnalyzer->analyzeClassMethod(Object(PhpParser\Node\Stmt\ClassMethod), Object(Psalm\Storage\ClassLikeStorage), Object(Psalm\Internal\Analyzer\TraitAnalyzer), Object(Psalm\Context), Object(Psalm\Context))
#18 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClassAnalyzer.php(757): Psalm\Internal\Analyzer\ClassAnalyzer->analyzeTraitUse(Object(Psalm\Aliases), Object(PhpParser\Node\Stmt\TraitUse), Object(Psalm\Internal\Analyzer\ProjectAnalyzer), Object(Psalm\Storage\ClassLikeStorage), Object(Psalm\Context), Object(Psalm\Context), NULL)
#19 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FileAnalyzer.php(212): Psalm\Internal\Analyzer\ClassAnalyzer->analyze(Object(Psalm\Context), Object(Psalm\Context))
#20 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/IncludeAnalyzer.php(180): Psalm\Internal\Analyzer\FileAnalyzer->analyze(Object(Psalm\Context), false, Object(Psalm\Context))
#21 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(309): Psalm\Internal\Analyzer\Statements\Expression\IncludeAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Include_), Object(Psalm\Context), Object(Psalm\Context))
#22 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(39): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::handleExpression(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Include_), Object(Psalm\Context), false, Object(Psalm\Context), true)
#23 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(519): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Include_), Object(Psalm\Context), false, Object(Psalm\Context), true)
#24 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(169): Psalm\Internal\Analyzer\StatementsAnalyzer::analyzeStatement(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\Expression), Object(Psalm\Context), Object(Psalm\Context))
#25 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FunctionLikeAnalyzer.php(606): Psalm\Internal\Analyzer\StatementsAnalyzer->analyze(Array, Object(Psalm\Context), Object(Psalm\Context), true)
#26 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClosureAnalyzer.php(197): Psalm\Internal\Analyzer\FunctionLikeAnalyzer->analyze(Object(Psalm\Context), Object(Psalm\Internal\Provider\NodeDataProvider), Object(Psalm\Context), false, Array)
#27 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(279): Psalm\Internal\Analyzer\ClosureAnalyzer::analyzeExpression(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Closure), Object(Psalm\Context))
#28 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(39): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::handleExpression(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Closure), Object(Psalm\Context), false, NULL, false)
#29 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/AssignmentAnalyzer.php(194): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Closure), Object(Psalm\Context))
#30 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(125): Psalm\Internal\Analyzer\Statements\Expression\AssignmentAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\ArrayDimFetch), Object(PhpParser\Node\Expr\Closure), NULL, Object(Psalm\Context), NULL)
#31 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(39): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::handleExpression(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Assign), Object(Psalm\Context), false, Object(Psalm\Context), true)
#32 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(519): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Assign), Object(Psalm\Context), false, Object(Psalm\Context), true)
#33 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(169): Psalm\Internal\Analyzer\StatementsAnalyzer::analyzeStatement(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\Expression), Object(Psalm\Context), Object(Psalm\Context))
#34 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FunctionLikeAnalyzer.php(606): Psalm\Internal\Analyzer\StatementsAnalyzer->analyze(Array, Object(Psalm\Context), Object(Psalm\Context), true)
#35 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClassAnalyzer.php(1948): Psalm\Internal\Analyzer\FunctionLikeAnalyzer->analyze(Object(Psalm\Context), Object(Psalm\Internal\Provider\NodeDataProvider), Object(Psalm\Context))
#36 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ClassAnalyzer.php(745): Psalm\Internal\Analyzer\ClassAnalyzer->analyzeClassMethod(Object(PhpParser\Node\Stmt\ClassMethod), Object(Psalm\Storage\ClassLikeStorage), Object(Psalm\Internal\Analyzer\ClassAnalyzer), Object(Psalm\Context), Object(Psalm\Context))
#37 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FileAnalyzer.php(212): Psalm\Internal\Analyzer\ClassAnalyzer->analyze(Object(Psalm\Context), Object(Psalm\Context))
#38 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/IncludeAnalyzer.php(180): Psalm\Internal\Analyzer\FileAnalyzer->analyze(Object(Psalm\Context), false, NULL)
#39 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(309): Psalm\Internal\Analyzer\Statements\Expression\IncludeAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Include_), Object(Psalm\Context), NULL)
#40 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(39): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::handleExpression(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Include_), Object(Psalm\Context), false, NULL, true)
#41 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(519): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Include_), Object(Psalm\Context), false, NULL, true)
#42 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(169): Psalm\Internal\Analyzer\StatementsAnalyzer::analyzeStatement(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\Expression), Object(Psalm\Context), NULL)
#43 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FileAnalyzer.php(188): Psalm\Internal\Analyzer\StatementsAnalyzer->analyze(Array, Object(Psalm\Context), NULL, true)
#44 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Expression/IncludeAnalyzer.php(180): Psalm\Internal\Analyzer\FileAnalyzer->analyze(Object(Psalm\Context), false, NULL)
#45 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(309): Psalm\Internal\Analyzer\Statements\Expression\IncludeAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Include_), Object(Psalm\Context), NULL)
#46 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/ExpressionAnalyzer.php(39): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::handleExpression(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Include_), Object(Psalm\Context), false, NULL, true)
#47 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(519): Psalm\Internal\Analyzer\Statements\ExpressionAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Expr\Include_), Object(Psalm\Context), false, NULL, true)
#48 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(169): Psalm\Internal\Analyzer\StatementsAnalyzer::analyzeStatement(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\Expression), Object(Psalm\Context), NULL)
#49 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Block/IfAnalyzer.php(788): Psalm\Internal\Analyzer\StatementsAnalyzer->analyze(Array, Object(Psalm\Context))
#50 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/Statements/Block/IfAnalyzer.php(356): Psalm\Internal\Analyzer\Statements\Block\IfAnalyzer::analyzeIfBlock(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\If_), Object(Psalm\Internal\Scope\IfScope), Object(Psalm\Internal\Scope\IfConditionalScope), Object(Psalm\Context), Object(Psalm\Context), Object(Psalm\Context), Array)
#51 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(467): Psalm\Internal\Analyzer\Statements\Block\IfAnalyzer::analyze(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\If_), Object(Psalm\Context))
#52 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/StatementsAnalyzer.php(169): Psalm\Internal\Analyzer\StatementsAnalyzer::analyzeStatement(Object(Psalm\Internal\Analyzer\StatementsAnalyzer), Object(PhpParser\Node\Stmt\If_), Object(Psalm\Context), NULL)
#53 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/FileAnalyzer.php(188): Psalm\Internal\Analyzer\StatementsAnalyzer->analyze(Array, Object(Psalm\Context), NULL, true)
#54 /root/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(341): Psalm\Internal\Analyzer\FileAnalyzer->analyze(NULL)
#55 /root/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(580): Psalm\Internal\Codebase\Analyzer->Psalm\Internal\Codebase\{closure}(0, '/var/www/backen...')
#56 /root/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Analyzer.php(270): Psalm\Internal\Codebase\Analyzer->doAnalysis(Object(Psalm\Internal\Analyzer\ProjectAnalyzer), 1)
#57 /root/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ProjectAnalyzer.php(638): Psalm\Internal\Codebase\Analyzer->analyzeFiles(Object(Psalm\Internal\Analyzer\ProjectAnalyzer), 1, false, true)
#58 /root/vendor/vimeo/psalm/src/psalm.php(675): Psalm\Internal\Analyzer\ProjectAnalyzer->check('/var/www/backen...', true)
#59 /root/vendor/vimeo/psalm/psalm(2): require_once('/root/vendor/vi...')
#60 {main}
(Psalm 4.1.1@16bfbd9224698bd738c665f33039fade2a1a3977 crashed due to an uncaught Throwable)
I use :
Thanks
Hey @vendelev, can you reproduce the issue on https://psalm.dev ?
I'm getting the same error while using PHPStorm plugin:
vendor/vimeo/psalm/psalm --output-format=checkstyle --monochrome test.php
Scanning files...
Uncaught InvalidArgumentException: Could not get class storage for sylius\bundle\resourcebundle\controller\parameters in /Users/torinaki/www/htdocs/vendor/vimeo/psalm/src/Psalm/Internal/Provider/ClassLikeStorageProvider.php:42
Stack trace:
#0 /Users/torinaki/www/htdocs/vendor/vimeo/psalm/src/Psalm/Internal/Codebase/Populator.php(124): Psalm\Internal\Provider\ClassLikeStorageProvider->get('sylius\\bundle\\r...')
#1 /Users/torinaki/www/htdocs/vendor/vimeo/psalm/src/Psalm/Codebase.php(466): Psalm\Internal\Codebase\Populator->populateCodebase()
#2 /Users/torinaki/www/htdocs/vendor/vimeo/psalm/src/Psalm/Internal/Analyzer/ProjectAnalyzer.php(1166): Psalm\Codebase->scanFiles(3)
#3 /Users/torinaki/www/htdocs/vendor/vimeo/psalm/src/psalm.php(677): Psalm\Internal\Analyzer\ProjectAnalyzer->checkPaths(Array)
#4 /Users/torinaki/www/htdocs/vendor/vimeo/psalm/psalm(2): require_once('/Users/torinaki...')
#5 {main}
(Psalm 3.18.2@19aa905f7c3c7350569999a93c40ae91ae4e1626 crashed due to an uncaught Throwable)
It seems it happens because of ignored "vendor" folder:
...
<projectFiles>
<directory name="src"/>
<ignoreFiles>
<!-- comment out this line to avoid an error -->
<directory name="vendor"/>
</ignoreFiles>
</projectFiles>
...
Still, the problem is that ClassLikeStorageProvider does not contain classes from "vendor" folder
UPDATE: might be irrelevant. Please see next comment
It seems that it might be related to cache. PHPStorm starts to throw this exception right after I run psalm from the console using the command:
bin/psalm
To fix the issue I have to run the following commands:
bin/psalm --clear-cache
bin/psalm --clear-global-cache
And PHPStorm and Psalm integration fixes.
To fix the issue I have to run the following commands:
bin/psalm --clear-cache bin/psalm --clear-global-cache
It doesn't work for me.
I started docker container and installed composer require --dev psalm/phar.
After that I tried to clear cache and I got Could not locate a config XML file in path /var/www/backend/. Have you run 'psalm --init' ?
@vendelev, pity. In my case it the only solution which helps. Might be docker introduce similar issue but it can not be solved with my fix. Need to dig deeper to find the cause. I don't have ideas right now
Similar errors: #4462, #4419, #4107, #4407, #4198, and many more.
Wow, I did it
I removed Symfony cache directory "var" and ran command: ./vendor/bin/psalm --init.
Result was:
Calculating best config level based on project files
Calculating best config level based on project files
Scanning files...
Analyzing files...
EEEâ–‘EEâ–‘EEEâ–‘EEEEEEâ–‘Eâ–‘â–‘â–‘EEâ–‘â–‘EEEâ–‘â–‘â–‘â–‘â–‘â–‘â–‘Eâ–‘â–‘â–‘â–‘â–‘EEâ–‘â–‘â–‘Eâ–‘â–‘â–‘â–‘â–‘â–‘â–‘
Detected level 6 as a suitable initial default
Config file created successfully. Please re-run psalm.
@vendelev maybe it is related to Symfony plugin then? Do you have Symfony plugin installed?
It's Symfony project.
"var" is cache directory of Symfony project (https://symfony.com/doc/current/reference/configuration/kernel.html#cache-directory)
I noticed earlier that the cache doesn't always clear itself, and I deleted the var folder myself.
I tried to init Psalm in а new project from Symfony skeleton. Everything was all right.
I thinked: Why not? And deleted the directory "var" in exists project. Everything was all right also.
@vendelev I mean do you have the following plugin installed for Psalm:
https://github.com/psalm/psalm-plugin-symfony
I didn't install this plugin.
There are "require" section
"hidehalo/nanoid-php": "^1.1",
"nelmio/api-doc-bundle": "^4.0",
"sensio/framework-extra-bundle": "^5.6",
"stof/doctrine-extensions-bundle": "^1.5",
"symfony/asset": "^4.0",
"symfony/console": "^4.0",
"symfony/dotenv": "^4.0",
"symfony/flex": "^1.1",
"symfony/framework-bundle": "^4.0",
"symfony/http-client": "4.4.*",
"symfony/messenger": "^4.4",
"symfony/orm-pack": "^1.0",
"symfony/property-access": "^4.0",
"symfony/serializer": "^4.0",
"symfony/twig-bundle": "^4.0",
"symfony/validator": "^4.0",
"symfony/yaml": "^4.0"
and "require-dev" section
"codeception/codeception": "^4.1",
"codeception/module-asserts": "^1.3",
"codeception/module-datafactory": "^1.0",
"codeception/module-doctrine2": "^1.0",
"codeception/module-phpbrowser": "^1.0",
"codeception/module-rest": "^1.2",
"codeception/module-symfony": "^1.1",
"fzaninotto/faker": "^1.9",
"league/factory-muffin": "^3.2",
"roave/security-advisories": "dev-master",
"squizlabs/php_codesniffer": "^3.5",
"symfony/maker-bundle": "^1.0",
"symfony/profiler-pack": "^1.0",
"vimeo/psalm": "^4.2"