Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果该composer.json中包含dev master,那么该composer.json是否正确_Php_Symfony_Composer Php_Sonata Admin - Fatal编程技术网

Php 如果该composer.json中包含dev master,那么该composer.json是否正确

Php 如果该composer.json中包含dev master,那么该composer.json是否正确,php,symfony,composer-php,sonata-admin,Php,Symfony,Composer Php,Sonata Admin,无论何时更新,我都会不断出错。。今天当我更新的时候,我发现了另一个关于sonata admin的错误 我唯一的问题是,将dev保存在composer.json中是一种很好的做法,因为我要安装的所有lib都在它们的文档中显示dev master。我知道这是非常基本的,但我对作曲家和交响乐团都是新手。。一点也不喜欢,哈哈哈 { "name": "symfony/framework-standard-edition", "license": "MIT", "type": "pr

无论何时更新,我都会不断出错。。今天当我更新的时候,我发现了另一个关于sonata admin的错误 我唯一的问题是,将dev保存在composer.json中是一种很好的做法,因为我要安装的所有lib都在它们的文档中显示dev master。我知道这是非常基本的,但我对作曲家和交响乐团都是新手。。一点也不喜欢,哈哈哈

{
    "name": "symfony/framework-standard-edition",
    "license": "MIT",
    "type": "project",
    "description": "The \"Symfony Standard Edition\" distribution",
    "autoload": {
        "psr-0": { "": "src/" }
    },
    "require": {
        "php": ">=5.3.3",
        "symfony/symfony": "~2.4",
        "doctrine/orm": "~2.2,>=2.2.3",
        "doctrine/doctrine-bundle": "~1.2",
        "twig/extensions": "~1.0",
        "symfony/assetic-bundle": "~2.3",
        "symfony/swiftmailer-bundle": "~2.3",
        "symfony/monolog-bundle": "~2.4",
        "sensio/distribution-bundle": "~2.3",
        "sensio/framework-extra-bundle": "~3.0",
        "sensio/generator-bundle": "~2.3",
        "incenteev/composer-parameter-handler": "~2.0",
        "friendsofsymfony/user-bundle": "1.3.*",
        "sonata-project/core-bundle": "~2.2@dev",
        "sonata-project/admin-bundle": "2.2.*@dev",
        "sonata-project/block-bundle": "dev-master",
        "sonata-project/cache": "1.*@dev",
        "sonata-project/cache-bundle": "2.2.*@dev",
        "sonata-project/jquery-bundle": "1.8.*@dev",
        "sonata-project/easy-extends-bundle" : "dev-master",
        "sonata-project/doctrine-orm-admin-bundle": "dev-master",
        "sonata-project/user-bundle": "dev-master"
    },
    "scripts": {
        "post-install-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
        ],
        "post-update-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
        ]
    },
    "config": {
        "bin-dir": "bin"
    },
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web",
        "incenteev-parameters": {
            "file": "app/config/parameters.yml"
        },
        "branch-alias": {
            "dev-master": "2.4-dev"
        }
    }
}

如果您不积极开发其他软件,并且不知道那里发生了什么,那么应该避免使用命名分支,如
devmaster

原因如下:今天,该分支可能是组件2.x版本开发的尖端。您很高兴使用Composer进行更新,一切正常

现在,软件决定发布一个新的主要版本,他们开始进行向后不兼容的更改。现在,只要您不再更新(或只显式更新其他软件),使用
dev master
的您自己的软件将指向2.x的旧提交,但从长远来看,情况会发生变化:

因为您添加的其他组件可能依赖于
dev master
中的该软件,但它们意味着新的3.x开发,所以您的旧软件将满足该依赖性,而不是与之连接的代码(请记住:向后不兼容的更改也可能是向前不兼容的更改)。因此,即使不更新特定组件,事情也可能在某个时候开始崩溃

如果你盲目地更新整件事,如果发生这样的更新,你更可能遇到问题

在依赖项中使用版本号要容易得多。您可以声明需要任何版本的
2.*
,这将阻止对任何3.x版本的更新,并允许Composer检测依赖于该3.x版本的第三个组件是否与仍然安装的旧2.x不兼容。它要么导致选择仍然依赖于2.x的旧版本,要么完全拒绝安装。这实际上是一件好事,因为它允许您手动更新并查看是否出现问题(您确实有测试,不是吗?)-然后您可以修复它们


如果您遇到您喜欢的软件,并且维护人员尚未标记版本,请友好地要求他们这样做。要么他们用标签来回应,要么你会想到去搜索另一个更适合你需要的库。否则的话,就要暗地里成为他们开发团队的一员,帮助调试他们的软件(这也可能是件好事——但要准备好花费额外的时间)。

应该避免开发大师
;您是否查看过packagist.org以了解它有哪些版本?例如,
easy extends bundle
有一个您可以使用的版本
2.1.6