gpt4 book ai didi

php - Composer - 是否可以通过一个命令在 "require-dev"全局安装包?

转载 作者:行者123 更新时间:2023-12-02 06:56:19 26 4
gpt4 key购买 nike

快速提问,如果我的想法总体上有任何愚蠢之处/是否有更好的方法,请告诉我:

为了创建持续交付管道,我想在 Composer 中使用“require-dev”声明各种类型测试所需的一些包。但是,我想知道是否有可能以一种方式运行安装命令,以便使用一个命令全局安装“require-dev”下列出的所有软件包?

这很好,因为它可以让我轻松地使测试环境保持最新状态,并允许在全局范围内访问我需要的所有 PHP 测试解决方案。我知道这不是什么工作,如果我手动完成所有这些工作,我就已经完成了,但我很想知道是否有一种很好的方法可以做到这一点,因为我认为手动下载和一切,赋予它执行权,然后将其移动到 bin/目录以进行全局访问是一种乏味的解决方案。

最佳答案

根据 Composer 的帮助,在 Composer 中使用 global 关键字允许在全局 Composer 目录($COMPOSER_HOME)中运行命令。

这意味着当您运行 composer global require phpunit/phpunit 时,composer 将更新其全局目录而不是您当时所在的目录。

所以在我的例子中,$COMPOSER_HOME 在我的主目录 /Home/.composer 中,运行上面的命令将会;

  1. 更新/Home/.composer/composer.json 文件。
  2. 下载最新的phpunit包到/Home/.composer/vender
  3. 将 phpunit 可执行文件的符号链接(symbolic link)添加到/Home/.composer/vendor/bin 目录

所以此时,如果我的路径中包含 bin 文件夹,那么无论我在哪个目录中运行命令,我都可以在我的系统中运行 phpunit。

现在,如果您希望将依赖项作为开发要求的一部分进行安装,您需要做的就是将 --dev 参数添加到安装(或更新)命令中,例如composer global require phpunit/phpunit --dev

关于php - Composer - 是否可以通过一个命令在 "require-dev"全局安装包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30697558/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com