我们必须使用GitHub上的VCS存储库将几百个软件包迁移到composer,我注意到即使在根服务器上也非常慢,使用一个普通的应用程序,有20到30多个软件包。在家用机器上更糟糕。事实上,这使得工作非常乏味,不知何故令人无法接受。有什么可以做的改进,以加快它吗?邮编或 Package 师是不是一个选项,我们也。
pokxtpni1#
***更新:***现在有了Composer v2+,你不再需要Prestissimo了。你可以用这个新版本获得更好的(难以置信的)速度。
使用最快(仅Composer v1-)Prestissimo是一个全局Composer插件,可以并行安装依赖项。速度非常快。值得注意的是,Pretissimo需要cURL,这可能在某些防火墙或代理后无法工作。我个人没有遇到任何问题。
klh5stk12#
确保您的composer.lock文件处于版本控制和主项目中对于提高composer install的速度至关重要。它包含Composer用于加快安装过程的包列表和有关它们的信息(包括特定版本)。更多https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file详细信息,请访问www.example.com。
composer.lock
composer install
xeufq47z3#
我会尝试两件事1)使用详细选项-v来查看为什么要花这么长时间,可能是网络带宽或延迟,或者其他令人惊讶的原因。2)使用--no-dev和--prefer-dist选项来防止composer考虑您在生产中没有使用的版本。第三:)你可以在某个地方运行一个定期的后台 composer 更新来保持缓存的最新。所以至少你的安装会快一点。(Ps.我确信有-v-vv和-vvv表示细节层次,但我现在在文档中看不到了......我以为只有第二个层次才能提供下载速度。)
62lalag44#
对于任何像我一样试图在GitHub Actions CI/CD工作流上加速composer install的人来说,禁用xdebug和类似的调试工具可以显著减少构建时间和使用。GitHub的Ubuntu 22.04 Github操作运行器文档声明Xdebug默认启用,Shivam Mathur的Setup PHP操作文档也提到了这一点:注意:Ubuntu GitHub操作映像默认启用Xdebug,因此如果您不在工作流程中使用它,建议您禁用它,因为这将对您的PHP性能产生积极影响。详情请参阅禁用覆盖范围部分。建议通过将coverage: none添加到GitHub Actions工作流来禁用它:
xdebug
coverage: none
- name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: 8.1 coverage: none # Add this extensions: :xdebug # OR add this to only disable XDebug - note the colon - name: Run Composer install run: composer install -o -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
但是,请记住,如果您使用GitHub Actions的高级debug logging或计划在未来使用,至少XDebug可能需要重新启用。
4条答案
按热度按时间pokxtpni1#
***更新:***现在有了Composer v2+,你不再需要Prestissimo了。你可以用这个新版本获得更好的(难以置信的)速度。
使用最快(仅Composer v1-)
Prestissimo是一个全局Composer插件,可以并行安装依赖项。速度非常快。值得注意的是,Pretissimo需要cURL,这可能在某些防火墙或代理后无法工作。我个人没有遇到任何问题。
klh5stk12#
确保您的
composer.lock
文件处于版本控制和主项目中对于提高composer install
的速度至关重要。它包含Composer用于加快安装过程的包列表和有关它们的信息(包括特定版本)。更多https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file详细信息,请访问www.example.com。
xeufq47z3#
我会尝试两件事
1)使用详细选项-v来查看为什么要花这么长时间,可能是网络带宽或延迟,或者其他令人惊讶的原因。
2)使用--no-dev和--prefer-dist选项来防止composer考虑您在生产中没有使用的版本。
第三:)你可以在某个地方运行一个定期的后台 composer 更新来保持缓存的最新。所以至少你的安装会快一点。
(Ps.我确信有-v-vv和-vvv表示细节层次,但我现在在文档中看不到了......我以为只有第二个层次才能提供下载速度。)
62lalag44#
禁用XDebug
对于任何像我一样试图在GitHub Actions CI/CD工作流上加速
composer install
的人来说,禁用xdebug
和类似的调试工具可以显著减少构建时间和使用。GitHub的Ubuntu 22.04 Github操作运行器文档声明Xdebug默认启用,Shivam Mathur的Setup PHP操作文档也提到了这一点:
注意:Ubuntu GitHub操作映像默认启用Xdebug,因此如果您不在工作流程中使用它,建议您禁用它,因为这将对您的PHP性能产生积极影响。详情请参阅禁用覆盖范围部分。
建议通过将
coverage: none
添加到GitHub Actions工作流来禁用它:但是,请记住,如果您使用GitHub Actions的高级debug logging或计划在未来使用,至少XDebug可能需要重新启用。