这是我的phpstan neon
parameters:
checkMissingIterableValueType: false
checkGenericClassInNonGenericObjectType: false
symfony:
container_xml_path: '%rootDir%/../../../var/cache/dev/srcApp_KernelDevDebugContainer.xml'
bootstrap: '%rootDir%/../../../vendor/autoload.php'
这是我的gitlab-ci片段
commit:
stage: analysis
variables:
APP_ENV: dev
cache:
untracked: true
paths:
- Source/var/cache/dev/
before_script:
- cd Source
- cp .env.example .env
- composer install --no-interaction --optimize-autoloader --classmap-authoritative
script:
- composer commit
only:
- merge_requests
我得到以下错误:
In XmlServiceMapFactory.php line 29:
[PHPStan\Symfony\XmlContainerNotExistsException]
Container /builds/Mehlichmeyer/heracles-mvp-symfony/Source/vendor/phpstan/p
hpstan/../../../var/cache/dev/srcApp_KernelDevDebugContainer.xml does not e
xist
问题是我的gitlab-ci容器没有srcApp_KernelDevDebugContainer.xml,因为它在我的.gitignore(/var/ is)中。
2条答案
按热度按时间epfja78i1#
要得到这个文件,你必须为激活了调试的开发环境生成该高速缓存。我想这可以在“before_script”部分完成:
您的
.env
文件必须具有调试标志:我不知道gitlab-ci,但我用github-actions做了这个,它工作得很好。
nlejzf6q2#
好吧,所以我终于找到了问题。我把我的Symfony从4. x更新到5. x,我不得不调整我的phpstan. neon
在本地,这不会抛出错误,因为我没有运行bin/console cache:clear,所以旧的container_xml_path工作正常。