2012-09-06 48 views
14

我需要安裝SonataUserBundle才能安裝SonataNewsBundle。Bundle「ApplicationSonataUserBundle」不存在或未啓用

我跟着installation Tutorial一步一步,但我得到這個錯誤:

./app/console sonata:easy-extends:generate SonataUserBundle 



    [InvalidArgumentException]             
    Bundle "ApplicationSonataUserBundle" does not exist or it is not enabled. 

尚未生成包。這個命令應該這樣做!

任何人有任何想法如何解決這個問題?

回答

29

編輯2016/09/23:這個答案可能有點過時。如果這不起作用,你可以探索@ashish answer只是波紋管。

在索納塔用戶捆綁安裝,建議您映射學說:ORMApplicationSonataUserBundle,這樣就不會在奏鳴曲做到:易於擴展:產生SonataUserBundle因爲ApplicationSonataUserBundle還不存在。

所以空空的奏鳴曲前:易於擴展:產生SonataUserBundle命令,你可以發表評論的ApplicationSonataUserBundle行:

# app/config/config.yml 
[...] 
# Doctrine Configuration 
doctrine: 
    [...] 
    orm: 
    auto_generate_proxy_classes: %kernel.debug% 
     entity_managers: 
     default: 
      mappings: 
      # ApplicationSonataUserBundle: ~ 
      SonataUserBundle: ~ 

然後您啓動奏鳴曲:易於擴展:產生SonataUserBundle命令, 最後,您刪除*** ApplicationSonataUserBundle上的註釋(#):〜**

Bundl e「ApplicationSonataUserBundle」不存在或未啓用錯誤消失。

祝您有美好的一天。

+0

完美地工作.. –

0

那麼,該命令是第5步,你需要執行前4個步驟,然後才能運行第5步。

你得到的錯誤是因爲你已經錯過了第2步:安裝包和配置我把它通過刪除引用應用程序\安裝框架(例如在AppKernel不知道捆)

+2

好點2.3.1他們告訴我們設置錯誤的配置。 – GusDeCooL

2

Sonata \ UserBundle \ Entity \ User和Application \ Sonata \ UserBundle \ Entity \ Group和AppKernel.php中的'new Application \ Sonata \ UserBundle \ ApplicationSonataUserBundle()'。

然後運行easy extend generate命令,然後放入參考文件。我認爲文檔已將這些步驟混合起來。你不能在config.yml中引用一個包,直到它存在。

2

嗨,我面臨同樣的問題,但我可以解決這個問題。讓我們看看我在做什麼:

在命令:

php app/console sonata:easy-extends:generate -d src/ SonataUserBundle 

然後在AppKernel文件寫:

new Application\Sonata\UserBundle\ApplicationSonataUserBundle 

這是現在工作;)

而這個命令

sonata:easy-extends:generate SonataUserBundle 

create Bu ndle在「App /」文件中。

22

執行以下運行奏鳴曲之前步驟:易於擴展:產生

(1)發表意見ApplicationSonataUserBundle線config.yaml

mappings: 
       # ApplicationSonataUserBundle: ~ 
       SonataUserBundle: ~ 

(2)更換申請\索納塔\ UserBundle \實體\用戶奏\ UserBundle \實體\ BaseUser

(3)替換應用程序\奏\ UserBundle \實體\組奏\ UserBundle \實體\ BaseGroup

(4)運行奏:易於延伸:生成 「PHP應用程序/控制檯奏:易於延伸:生成SonataUserBundle -d SRC」

立即恢復步驟1,2和3個

+0

謝謝!這是問題的真正解決方案,因爲在您評論#ApplicationSonataUserBundle後:〜您將收到一條錯誤消息,說 「Class'Application \ Sonata \ UserBundle \ Entity \ User'不存在」,並且作曲家無法繼續生成這些類別。將config.yml中的mine替換爲你所說的修復它,然後我就可以生成這個bundle。 – Cowwando

1

你的步驟是除了它已經在「app /」文件夾中創建了ApplicationSonataAdminBundle,所以你應該將這個生成的ApplicationSonataAdminBundle剪切並粘貼到「src /」文件夾中。

0

如果你不想使用「easy-extends」解決方案是覆蓋默認設置config.yml

sonata_user: 
    class: 
     user: Acme\UserBundle\Entity\User 
     group: Acme\UserBundle\Entity\Group 
相關問題