如何在Symfony4项目中安装phpDocumentor且不改动原有Symfony版本?
Symfony4项目不改动核心版本安装phpDocumentor的解决方案
你遇到的冲突核心是phpDocumentor 3.1+版本要求symfony/cache >=5.0,和你当前项目锁定的4.4.x版本不兼容,以下三个方案都不会修改你现有Symfony核心版本:
方案1:安装兼容Symfony4的低版本phpDocumentor
phpDocumentor 3.0.x分支支持symfony/cache ^4.4,完全适配你当前的环境,直接执行指定版本安装命令即可:
composer require --dev phpdocumentor/phpdocumentor:^3.0
该方案不需要调整其他配置,安装后可直接通过项目vendor目录下的命令调用。
方案2:使用独立PHAR包安装(完全不影响项目依赖)
直接下载phpDocumentor 3.0.x版本的独立PHAR可执行文件,放在项目根目录或者系统全局路径中,不需要通过composer安装到项目依赖里,使用时直接调用即可:
# 使用示例,根据实际需求调整源码目录和输出目录参数 php phpDocumentor.phar run -d ./src -t ./docs/api
该方案完全隔离工具和项目依赖,是改动最小的方案。
方案3:通过依赖隔离插件安装
使用composer的bamarni/composer-bin-plugin插件,将工具依赖放在独立的命名空间下管理,不会和项目核心依赖产生版本冲突:
- 第一步安装插件:
composer require --dev bamarni/composer-bin-plugin
- 第二步在独立空间安装phpDocumentor:
composer bin phpdoc require --dev phpdocumentor/phpdocumentor
- 安装完成后调用方式:
vendor/bin/phpdoc run
注意:不要使用composer提示的
-W/--with-all-dependencies参数执行安装,该操作会自动升级symfony/cache到5.x版本,破坏你现有Symfony4项目的稳定性。
内容的提问来源于stack exchange,提问作者Harizu
相关产品推荐
相关产品推荐

