gpt4 book ai didi

php - Composer 中用于开发和生产的不同软件包版本

转载 作者:行者123 更新时间:2023-12-04 14:40:53 25 4
gpt4 key购买 nike

我正在研究多个 Composer 包和一个应用程序,该应用程序需要我开发的所有包。

我想知道如何拥有一个包含多个版本的包

  • 生产稳定版
  • 本地开发的开发/主版本

  • 我尝试遵循配置但它不起作用
    {
    "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


    [Composer\DependencyResolver\SolverProblemsException]
    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>]...

    最佳答案

    Composer 有require的原因和 require-dev是允许开发人员安装包,以便他们使用不建议在生产中使用的包进行更好的调试。通过在 require-dev 上添加包生产时不需要此包。

    前任。如果你想优化你的查询,看看你是否有任何 n+1 查询问题等你可能想要安装 php-debugbar 这将向您显示此信息,但在生产中使用此信息可能会暴露您的查询并将敏感信息提供给 坏人 .

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

    中有不同的包开发部 产品就像@George 说的那样,你需要为每个环境使用不同的 composer.json 文件。

    你可以拥有一个 composer.json文件将是生产 Composer 和一个 composer-dev.json可用于开发。

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

    这样做的简单方法是像这样运行 composer:COMPOSER=composer-other.json php composer.phar install
    如果你想要一个新的包,你需要运行两次命令,一次是正常的,一次是在 composer 之前添加 COMPOSER=composer-other.json ,以确保包将被添加到开发和生产中。

    P.S 我不知道为什么开发和生产需要不同的包,但建议在开发和生产中使用相同版本的包,因为版本不同可能会带来错误

    关于php - Composer 中用于开发和生产的不同软件包版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56807303/

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