无法使用作曲家设置奏鸣曲
Posted
技术标签:
【中文标题】无法使用作曲家设置奏鸣曲【英文标题】:Cannot setup sonata using composer 【发布时间】:2013-06-19 22:59:59 【问题描述】:我已经使用 composer 设置了 symfony。
我在我的 composer .json 文件中添加了一些依赖项,如下所示:
"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.3.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.2.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.3.*",
"symfony/swiftmailer-bundle": "2.3.*",
"symfony/monolog-bundle": "2.3.*",
"sensio/distribution-bundle": "2.3.*",
"sensio/framework-extra-bundle": "2.3.*",
"sensio/generator-bundle": "2.3.*",
"incenteev/composer-parameter-handler": "2.0",
"sonata-project/admin-bundle": "dev-master",
"sonata-project/doctrine-orm-admin-bundle": "dev-master",
"sonata-project/intl-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"
,
"minimum-stability": "stable",
"extra":
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"incenteev-parameters":
"file": "app/config/parameters.yml"
,
"branch-alias":
"dev-master": "2.3-dev"
当我运行 composer.phar update 时,我收到以下消息:
使用包信息加载作曲家存储库 更新依赖项(包括 require-dev) 您的需求无法解析为一组可安装的软件包。
问题 1 - sonata-project/intl-bundle dev-master 的安装请求 -> 可由 sonata-project/intl-bundle [dev-master] 满足。 - sonata-project/intl-bundle dev-master 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 问题 2 - sonata-project/intl-bundle dev-master 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。 - symfony/framework-standard-edition 2.3.x-dev 需要 sonata-project/intl-bundle dev-master -> 可以满足 sonata-project/intl-bundle[dev-master]。 - symfony/framework-standard-edition 2.3.x-dev 的安装请求 -> symfony/framework-standard-edition[2.3.x-dev] 可满足。
所以不知道更好,我想我可能需要运行 composr.phar install 这给了我这个:
使用包信息加载作曲家存储库 从锁定文件安装依赖项(包括 require-dev) 警告:锁定文件不是最新的 composer.json 中的最新更改。您可能会得到过时的依赖项。运行 update 来更新它们。 您的需求无法解析为一组可安装的软件包。
问题 1 - symfony/framework-standard-edition 2.3.x-dev 的安装请求 -> symfony/framework-standard-edition[2.3.x-dev] 可以满足。 - symfony/framework-standard-edition 2.3.x-dev 需要 sonata-project/admin-bundle dev-master -> 找不到匹配的包。
潜在原因: - 包名中的拼写错误 - 根据您的最低稳定性设置,该软件包在足够稳定的版本中不可用 有关详细信息,请参阅https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion。
阅读http://getcomposer.org/doc/articles/troubleshooting.md了解更多常见问题。
我已按照 sonata-project.org 的说明进行操作,但没有取得任何进展。
我是否犯了某种非常明显的错误?
【问题讨论】:
【参考方案1】:这是一个有效的 composer.json,用于使用 symfony 2.3.* 设置奏鸣曲管理员。*
"require":
"php": ">=5.3.3",
"symfony/symfony": "2.3.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.2.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.3.*",
"symfony/swiftmailer-bundle": "2.3.*",
"symfony/monolog-bundle": "2.3.*",
"sensio/distribution-bundle": "2.3.*",
"sensio/framework-extra-bundle": "2.3.*",
"sensio/generator-bundle": "2.3.*",
"incenteev/composer-parameter-handler": "~2.0",
"twig/twig": "1.*",
"knplabs/knp-menu-bundle" : "1.1.*",
"sonata-project/block-bundle" : "dev-master",
"sonata-project/exporter" : "1.1.0",
"sonata-project/jquery-bundle" : "1.8.*",
"sonata-project/cache-bundle" : "dev-master",
"sonata-project/intl-bundle" : "dev-master",
"sonata-project/admin-bundle" : "dev-master",
"sonata-project/doctrine-orm-admin-bundle" : "dev-master",
,
你也有安装INTL
扩展:http://php.net/manual/en/intl.setup.php
【讨论】:
感谢您的回复哈斯特。我把它放在 composer.json 文件中并得到了同样的错误。也许我做错了什么? 我可以安全地将 zip 文件中的代码粘贴到正确的位置并包含 composer.json 要求部分吗? 不,甚至不要将压缩代码传递到供应商目录。您的问题还在于您必须安装 intl 扩展:php.net/manual/en/intl.setup.php @jaget 我已将有关国际安装的链接添加到答案中。对你有帮助吗? 只是想在 mac/MAMP 上进行设置。我会在安装和测试后通知您。以上是关于无法使用作曲家设置奏鸣曲的主要内容,如果未能解决你的问题,请参考以下文章
依赖问题作曲家[奏鸣曲管理员; SonataDoctrineORMAdminBundle]
使用更多表单字段扩展奏鸣曲用户包,获取无法加载类型“Application\Sonata\UserBundle\Form\RegistrationType”