Symfony 类别';JMS\SerializerBundle\JMSSerializerBundle';找不到AppKernel

Symfony 类别';JMS\SerializerBundle\JMSSerializerBundle';找不到AppKernel,symfony,composer-php,Symfony,Composer Php,我是symfony的新手,我有以下问题。 运行composer安装命令时,未找到AppKernel类“JMS\SerializerBundle\JMSSerializerBundle” 这是我的AppKernel文件: $bundles = array( new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), new Symfony\Bundle\SecurityBundle\SecurityBundle(),

我是symfony的新手,我有以下问题。 运行composer安装命令时,未找到AppKernel类“JMS\SerializerBundle\JMSSerializerBundle”

这是我的AppKernel文件:

$bundles = array(
        new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
        new Symfony\Bundle\SecurityBundle\SecurityBundle(),
        new Symfony\Bundle\TwigBundle\TwigBundle(),
        new Symfony\Bundle\MonologBundle\MonologBundle(),
        new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
        new Symfony\Bundle\AsseticBundle\AsseticBundle(),
        new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
        new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
        new AppBundle\AppBundle(),
        new JMS\SerializerBundle\JMSSerializerBundle(),
        new FOS\UserBundle\FOSUserBundle(),
        new FOS\RestBundle\FOSRestBundle(),
        new FOS\OAuthServerBundle\FOSOAuthServerBundle(),
        new Nelmio\ApiDocBundle\NelmioApiDocBundle(),
    );
这是我的composer.json文件

{
"name": "gigi/api",
"license": "proprietary",
"type": "project",
"autoload": {
    "psr-4": {
        "": "src/"
    }
},
"require": {
    "php": ">=5.3.9",
    "symfony/symfony": "2.7.*",
    "doctrine/orm": "^2.4.8",
    "doctrine/doctrine-bundle": "~1.4",
    "symfony/assetic-bundle": "~2.3",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~4.0",
    "sensio/framework-extra-bundle": "^3.0.2",
    "incenteev/composer-parameter-handler": "~2.0",
    "jms/metadata": ">=1.1.0,<1.3-dev",
    "jms/serializer": "dev-master",
    "jms/serializer-bundle": "dev-master",
    "friendsofsymfony/user-bundle": "2.0.*@dev",
    "friendsofsymfony/rest-bundle": "1.4.*@dev",
    "friendsofsymfony/oauth-server-bundle": "1.4.*@dev",
    "nelmio/api-doc-bundle": "2.5.*@dev"
},
"require-dev": {
    "sensio/generator-bundle": "~2.3",
    "symfony/phpunit-bridge": "~2.7"
},
"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",
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
    ],
    "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",
        "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget"
    ]
},
"config": {
    "bin-dir": "bin",
    "platform": {
        "php": "5.3.9"
    }
},
"extra": {
    "symfony-app-dir": "app",
    "symfony-web-dir": "web",
    "symfony-assets-install": "relative",
    "incenteev-parameters": {
        "file": "app/config/parameters.yml"
    }
}
{
“名称”:“gigi/api”,
“许可证”:“专有”,
“类型”:“项目”,
“自动加载”:{
“psr-4”:{
“”:“src/”
}
},
“要求”:{
“php”:“>=5.3.9”,
“symfony/symfony”:“2.7.*”,
“条令/orm”:“^2.4.8”,
“条令/条令包”:“~1.4”,
“symfony/assetic bundle”:“~2.3”,
“symfony/swiftmailer包”:“~2.3”,
“symfony/monolog捆绑包”:“~2.4”,
“sensio/distribution捆绑包”:“~4.0”,
“sensio/framework额外捆绑包”:“^3.0.2”,
“IncenteV/composer参数处理程序”:“~2.0”,

“jms/metadata”:“>=1.1.0,似乎该库不可用,因此您有两个选项:

  • 您可以从composer.json中删除jmsserializer,并将其用作:

    编写器需要jms/序列化程序包

  • 我想让composer.json保持原样,您可以运行:

    编写器更新jms/序列化程序包

  • 编辑1:为什么会发生这种情况? 当您运行
    composer install
    时,它将获取您的composer.lock文件,然后安装依赖项,正如您所看到的,symfony有一些安装后/更新脚本,这些脚本依赖于symfony安装,在引导过程中需要JMS序列化程序。 在这种情况下,composer.lock已过时,因此需要要求或更新丢失的包


    我希望这对您有所帮助!

    您是否完成了composer更新?首先运行composer安装,然后将包添加到AppKernel如果您已经运行了
    composer安装
    ,则运行
    composer-vvv更新
    ,并将输出粘贴到此处。