Composer - 是否可以使用一个命令在 "require-dev" 中全局安装软件包?
Composer - Is it possible to install packages in "require-dev" globally with one command?
快速提问,如果我的想法总体上有任何愚蠢之处/是否有更好的方法,请告诉我:
出于创建持续交付管道的目的,我想在 "require-dev" 中声明 Composer 中各种类型测试所需的一些包。但是,我想知道是否有可能 运行 install 命令以一种方式安装 "require-dev" 下列出的所有包全局使用一个命令?
这很好,因为它可以让我轻松地使测试环境保持最新,并允许全局访问我需要的所有 PHP 测试解决方案。我知道这不是什么工作,如果我手动完成所有这些工作,我就已经完成了,但我很想知道是否有一种很好的方法可以做到这一点,因为我认为手动下载和一切,给它执行权限,然后将其移动到 bin/ 目录以进行全局访问是一种乏味的解决方案。
全局安装应该做什么?
通常的做法是安装 Phpunit。现在,如果您有两个项目,一个使用旧版本 3.7,一个使用 4.6,则全局安装任何版本都无济于事。
不要全局安装某个包显式使用的依赖项。
但是,在特定版本中不需要或未声明在特定版本中需要的工具,如 PHP Codesniffer,可以轻松地集中安装
composer global require squizlabs/php_codesniffer
然后将~/.composer/vendor/bin生成的路径放入PATH环境变量中。请注意,~ 不会在那里解决,您必须自己解决。
根据作曲家的帮助,将 global 关键字与作曲家一起使用,允许在全局作曲家目录 ($COMPOSER_HOME) 中执行 运行ning 命令。 =12=]
这意味着当您 运行 composer global require phpunit/phpunit
时,composer 将更新其全局目录而不是您当时所在的目录。
所以在我的例子中,$COMPOSER_HOME 在我的主目录 /Home/.composer, 运行宁上述命令将;
- 更新 /Home/.composer/composer.json 文件。
- 下载最新的phpunit包到/Home/.composer/vender
- 将 phpunit 可执行文件的符号链接添加到 /Home/.composer/vendor/bin 目录
所以此时如果我的路径中包含 bin 文件夹,我将能够 运行 phpunit 在我的系统中,无论我在哪个目录运行输入命令。
现在,如果您希望将依赖项作为开发要求的一部分进行安装,您需要做的就是将 --dev 参数添加到安装(或更新)命令中以及例如composer global require phpunit/phpunit --dev
快速提问,如果我的想法总体上有任何愚蠢之处/是否有更好的方法,请告诉我:
出于创建持续交付管道的目的,我想在 "require-dev" 中声明 Composer 中各种类型测试所需的一些包。但是,我想知道是否有可能 运行 install 命令以一种方式安装 "require-dev" 下列出的所有包全局使用一个命令?
这很好,因为它可以让我轻松地使测试环境保持最新,并允许全局访问我需要的所有 PHP 测试解决方案。我知道这不是什么工作,如果我手动完成所有这些工作,我就已经完成了,但我很想知道是否有一种很好的方法可以做到这一点,因为我认为手动下载和一切,给它执行权限,然后将其移动到 bin/ 目录以进行全局访问是一种乏味的解决方案。
全局安装应该做什么?
通常的做法是安装 Phpunit。现在,如果您有两个项目,一个使用旧版本 3.7,一个使用 4.6,则全局安装任何版本都无济于事。
不要全局安装某个包显式使用的依赖项。
但是,在特定版本中不需要或未声明在特定版本中需要的工具,如 PHP Codesniffer,可以轻松地集中安装
composer global require squizlabs/php_codesniffer
然后将~/.composer/vendor/bin生成的路径放入PATH环境变量中。请注意,~ 不会在那里解决,您必须自己解决。
根据作曲家的帮助,将 global 关键字与作曲家一起使用,允许在全局作曲家目录 ($COMPOSER_HOME) 中执行 运行ning 命令。 =12=]
这意味着当您 运行 composer global require phpunit/phpunit
时,composer 将更新其全局目录而不是您当时所在的目录。
所以在我的例子中,$COMPOSER_HOME 在我的主目录 /Home/.composer, 运行宁上述命令将;
- 更新 /Home/.composer/composer.json 文件。
- 下载最新的phpunit包到/Home/.composer/vender
- 将 phpunit 可执行文件的符号链接添加到 /Home/.composer/vendor/bin 目录
所以此时如果我的路径中包含 bin 文件夹,我将能够 运行 phpunit 在我的系统中,无论我在哪个目录运行输入命令。
现在,如果您希望将依赖项作为开发要求的一部分进行安装,您需要做的就是将 --dev 参数添加到安装(或更新)命令中以及例如composer global require phpunit/phpunit --dev