用于作曲家开发和生产的不同软件包版本



我正在从事多个作曲家软件包和一个重新添加我开发的所有软件包的应用程序。

我想知道如何拥有具有多个版本的软件包

  1. 生产的稳定版本
  2. 开发/本地开发的主版本

我尝试了以下配置,但它不起作用

{
  "minimum-stability" : "dev",
  "require"           : {
    "varunsridharan/vsp-framework" : "^1.0",
    "wponion/wponion"              : "^1.0"
  },
  "require-dev"       : {
    "varunsridharan/vsp-framework" : "dev-master",
    "wponion/wponion"              : "dev-development"
  }
}

当我运行composer installcomposer install --no-dev时,我得到以下输出

Loading composer repositories with package information
Updating dependencies

  [ComposerDependencyResolverSolverProblemsException]
  Problem 1
      - The requested package varunsridharan/vsp-framework ^1.0 exists as varunsridharan/vsp-framework[dev-master] but these are rejected by your constraint.
    Problem 2
      - The requested package wponion/wponion ^1.0 exists as wponion/wponion[dev-development] but these are rejected by your constraint.

install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-author
itative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...

作曲家具有requirerequire-dev的原因是允许开发人员安装软件包,通过使用不建议在生产中使用的软件包,可以使他们更好地调试。通过在require-dev上添加包装,此软件包在生产中不需要。

ex。如果要优化查询,请查看您是否有任何n 1查询问题等,您可能需要安装php-debugbar,以向您显示此信息,但是在生产上进行此信息可能会揭示您的查询,并将敏感信息提供给>坏人

require上包含的软件包将始终安装在开发和生产中,这就是您看到错误The requested package xxxxx exists as xxxxx[dev-development] but these are rejected by your constraint的原因。

要在 dev prod 中具有不同的软件包,您需要每个环境的不同composer.json文件,就像@George所说的那样。

您可以拥有一个composer.json文件,该文件将是生产作曲家和一个可以用于开发的composer-dev.json

在您的本地环境上,您需要设置 Composer env变量的值 composer-dev.json

这样做的简单方法是这样运行作曲家:COMPOSER=composer-other.json php composer.phar install

如果您需要一个新的软件包,则需要两次运行命令,一次是正常的,一次是在作曲家之前添加composer = composer-other.json,以确保在开发和生产中同时添加包装。

p.s我不知道为什么您需要不同的开发和生产软件包的原因,但是建议它在dev和prod中具有相同版本的包装,因为它们可能会带来bugs

您可以尝试在开发环境中更改Composer.json文件。参见作曲家

COMPOSER=composer-dev.json php composer install

参考作曲家 - 指定`composer.json`路径

相关内容

  • 没有找到相关文章

最新更新