2

我安装了FOSRestBundle,但它需要JMSSerializerBundle.

我在我的部门中添加了下一行:

[JMSSerializerBundle]
    git=git://github.com/schmittjoh/JMSSerializerBundle.git
    target=bundles/JMS/SerializerBundle

在这里它解释了如何做到这一点:http: //jmsyst.com/bundles/JMSSerializerBundle/master/installation

但是当我尝试时$php bin/vendors install,它显示了一个错误:

[InvalidArgumentException]                                          
  The service definition "jms_serializer.serializer" does not exist.  
4

3 回答 3

4

您应该在方法中注释该new FOS\RestBundle\FOSRestBundle(),行。然后安装 ,然后你应该取消该行并注册.AppKernel.phpregisterBundles()JmsSerializerBundleJsmSerializerBundle

于 2012-12-17T19:22:34.167 回答
4

该手册说它要向内核注册捆绑包:

new JMS\Serializer\JMSSerializerBundle($this),

但安装程序会创建文件夹:vendor/bundles/JMS/SerializerBundle

因此,必须将其添加到 AppKernel.php 的下一行,而不是另一行:

new JMS\SerializerBundle\JMSSerializerBundle($this),
于 2012-12-17T20:34:50.600 回答
2

您是否还执行了手册中的以下步骤?听起来你没有添加这条线

new JMS\Serializer\JMSSerializerBundle($this)

到 AppKernel.php

于 2012-12-17T19:10:13.413 回答