2015-09-22 17 views
2

我試圖配置sonataUserBundle和fosUserBundle。當我嘗試訪問我的個人資料頁,我得到這個錯誤:試圖調用類「Knp Menu MenuItem」名爲「setCurrentUri」的未定義方法

Attempted to call an undefined method named "setCurrentUri" of class "Knp\Menu\MenuItem". 
Did you mean to call "setCurrent"? 

在我composer.json在這個版本「knplabs/KNP-菜單捆綁」的:「〜2.0」,

我降級到版本「knplabs/knp-menu-bundle」:「〜1.1」。但是當我試圖更新作曲家時,我得到一個錯誤,說:

Problem 1 
    - sonata-project/admin-bundle 2.4.x-dev requires knplabs/knp-menu-bundle >=2 
.0,<3.0.0 -> no matching package found. 
    - sonata-project/admin-bundle 2.4.x-dev requires knplabs/knp-menu >=2.0,<3.0 
-> no matching package found. 
    - Installation request for sonata-project/admin-bundle [email protected] -> satisfiab 
le by sonata-project/admin-bundle[2.4.x-dev]. 

Potential causes: 
- A typo in the package name 
- The package is not available in a stable-enough version according to your min 
imum-stability setting 
    see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> f 
or more details. 

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further commo 
n problems. 

有人有任何想法如何解決這個錯誤?

Call to method setCurrentUri fails in Symfony/SonataUserBundle setup

謝謝

{ 
    "name": "symfony/framework-standard-edition", 
    "license": "MIT", 
    "type": "project", 
    "description": "The \"Symfony Standard Edition\" distribution", 
    "autoload": { 
     "psr-0": { "": "src/", "SymfonyStandard": "app/" } 

    }, 
    "require": { 
     "php": ">=5.3.9", 
     "symfony/symfony": "2.7.*", 
     "doctrine/orm": "~2.2,>=2.2.3,<2.5", 
     "doctrine/dbal": "<2.5", 
     "doctrine/doctrine-bundle": "~1.4", 
     "twig/extensions": "~1.0", 
     "symfony/assetic-bundle": "2.6.0", 
     "symfony/swiftmailer-bundle": "~2.3", 
     "symfony/monolog-bundle": "~2.4", 
     "sensio/distribution-bundle": "~3.0,>=3.0.12", 
     "sensio/framework-extra-bundle": "~3.0,>=3.0.2", 
     "incenteev/composer-parameter-handler": "~2.0", 
     "leafo/lessphp": "*", 
     "twitter/bootstrap": "*", 
     "mremi/contact-bundle": "dev-master", 
     "symfony/twig-bridge": "2.3.*", 
     "genemu/form-bundle": "2.2.*", 
     "components/jquery":"dev-master", 
     "friendsofsymfony/user-bundle": "~1.3", 
     "hwi/oauth-bundle": "0.4.*@dev", 

     "sonata-project/user-bundle": "2.2.4", 
     "sonata-project/core-bundle": "[email protected],>=2.3.1", 
     "sonata-project/block-bundle": "[email protected]", 
     "sonata-project/page-bundle": "~2.3", 
     "symfony-cmf/routing-bundle": "~1.1", 
     "knplabs/knp-menu-bundle": "~2.0", 
     "sonata-project/admin-bundle": "[email protected]", 
     "sonata-project/doctrine-orm-admin-bundle": "[email protected]", 
     "sonata-project/easy-extends-bundle": "~2.1" 

    }, 
    "require-dev": { 
     "sensio/generator-bundle": "~2.3" 
    }, 
    "scripts": { 
     "post-root-package-install": [ 
      "SymfonyStandard\\Composer::hookRootPackageInstall" 
     ], 
     "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::removeSymfonyStandardFiles" 
     ], 
     "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::removeSymfonyStandardFiles" 
     ] 
    }, 
    "config": { 
     "bin-dir": "bin" 
    }, 
    "extra": { 
     "symfony-app-dir": "app", 
     "symfony-web-dir": "web", 
     "symfony-assets-install": "relative", 
     "symfony-assets-install":"symlink", 
     "incenteev-parameters": { 
      "file": "app/config/parameters.yml" 
     }, 
     "branch-alias": { 
      "dev-master": "2.7-dev" 
     } 
    } 
} 
+0

我仍然在這裏與我的錯誤堆棧,請有人可以幫助我嗎? thx – Dario

回答

2

我有同樣的問題,但降級到Knpmenu第1版是不可能的我們的項目。由於some code update the June 16th的,我們現在可以使用索納塔用戶捆綁和高棉菜單版本2.

請對我的composer.json一看:

"require": { 
    "php": ">=5.3.9", 
    "symfony/symfony": "2.7.*", 
    "doctrine/orm": "^2.4.8", 
    "doctrine/doctrine-bundle": "~1.4", 
    "doctrine/doctrine-fixtures-bundle": "dev-master", 
    "doctrine/migrations": "dev-master", 
    "doctrine/doctrine-migrations-bundle": "dev-master", 
    "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", 
    "friendsofsymfony/user-bundle": "~1.3", 
    "friendsofsymfony/message-bundle": "^1.2", 
    "sonata-project/admin-bundle": "^2.3", 
    "sonata-project/doctrine-orm-admin-bundle": "^2.3", 
    "sonata-project/easy-extends-bundle": "^2.1", 
    "sonata-project/user-bundle": "dev-master", 
    "sonata-project/datagrid-bundle": "dev-master", 
    "sonata-project/block-bundle": "~2.2,>=2.2.7,<2.3", 
    "sonata-project/exporter": "^1.4", 
    "sonata-project/intl-bundle": "^2.2", 
    "knplabs/knp-menu-bundle": "~2.0", 
    "knplabs/knp-menu": "~2.0" 
}, 

正如你可以看到,索納塔項目/用戶捆綁在dev-master版本下,我不得不在dev-master中添加sonata-project/datagrid-bundle

希望能幫到你!

2

KnpMenu和SonataBlockBundle您使用的帽子版本?請確認您的composer.json。

從KnpMenu 2.0版開始,setCurrentUri方法已被棄用,SonataBlockBundle的composer.json不需要KnpMenu,而是在dev安裝中的任何地方。因此,這可能導致您可能需要更新版本的尚未支持Sonata套件的knplabs/knp-menu-bundle。

嘗試需要knplabs/KNP-菜單,捆綁在1.1.x版本:

{ 
... 
"require": { 
    "knplabs/knp-menu-bundle": "~1.1" 
}, 
... 
} 
+0

我使用的是:「sonata-project/block-bundle」:「[email protected]」和「knplabs/knp-menu-bundle」:「〜2.0」。我嘗試了版本「〜1.1」的菜單捆綁,但它不工作,當我試圖更新作曲家時出現錯誤。 – Dario

+0

我很驚訝,只有(拉爾夫梅爾赫姆)能夠在這個論壇上幫助我。因爲這個論壇上有很多人在編程方面有很好的計算機技能。謝謝拉爾夫梅爾赫姆。爲了解決我的錯誤,你應該使用下面這些捆綁包的不同版本:「knplabs/knp-menu-bundle」:「〜2.0」,「sonata-project/user-bundle」:「2.3.*@dev」,「sonata -project/block-bundle「:」[email protected]「,」sonata-project/admin-bundle「:」[email protected]「, – Dario

+0

@Dario很高興我能幫助你,請將我的答案標記爲正確一;乾杯 –

相關問題