我正在尝试使用Symfony 3.1开发一个web应用程序,我需要使用一些外部库,如Faker和Guzzle。然而,每次我试图安装他们与作曲家像这样:
composer require fzaninotto/Faker
总是抛出这样的错误:
Using version ^1.6 for fzaninotto/Faker
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing fzaninotto/faker (v1.6.0)
Loading from cache
Writing lock file
Generating autoload files
> IncenteevParameterHandlerScriptHandler::buildParameters
Updating the "app/config/parameters.yml" file
> SensioBundleDistributionBundleComposerScriptHandler::buildBootstrap
> SensioBundleDistributionBundleComposerScriptHandler::clearCache
[SymfonyComponentConfigExceptionFileLoaderLoadException]
There is no extension able to load the configuration for "service" (in C:xampphtdocsmyappapp/configconfig.yml). Looked for namespace "service", found "framework", "securi
ty", "twig", "monolog", "swiftmailer", "doctrine", "doctrine_migrations", "sensio_framework_extra", "debug", "web_profiler", "sensio_distribution" in C:xampphtdocsmyappapp
/configconfig.yml (which is being imported from "C:xampphtdocsmyappapp/config/config_dev.yml").
[SymfonyComponentDependencyInjectionExceptionInvalidArgumentException]
There is no extension able to load the configuration for "service" (in C:xampphtdocsmyappapp/configconfig.yml). Looked for namespace "service", found "framework", "securi
ty", "twig", "monolog", "swiftmailer", "doctrine", "doctrine_migrations", "sensio_framework_extra", "debug", "web_profiler", "sensio_distribution"
Script SensioBundleDistributionBundleComposerScriptHandler::clearCache handling the symfony-scripts event terminated with an exception
Installation failed, reverting ./composer.json to its original content.
[RuntimeException]
An error occurred when executing the ""cache:clear --no-warmup"" command:
[SymfonyComponentConfigExceptionFileLoaderLoadException]
There is no extension able to load the configuration for "service" (in C:xampphtdocsmyappapp/configconfig.yml). Looked for namespace "service", found "framework
", "securi
ty", "twig", "monolog", "swiftmailer", "doctrine", "doctrine_migrations", "sensio_framework_extra", "debug", "web_profiler", "sensio_distribution" in C:xampphtdocsres
epkitaapp
/configconfig.yml (which is being imported from "C:xampphtdocsmyappapp/config/config_dev.yml").
[SymfonyComponentDependencyInjectionExceptionInvalidArgumentException]
There is no extension able to load the configuration for "service" (in C:xampphtdocsmyappapp/configconfig.yml). Looked for namespace "service", found "framework
", "securi
ty", "twig", "monolog", "swiftmailer", "doctrine", "doctrine_migrations", "sensio_framework_extra", "debug", "web_profiler", "sensio_distribution"
.
require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--] [<packages>]...
我真的需要使用第三方symfony bundle吗?或者我如何使用"原样"的库?
似乎你已经把一个"服务"块在你的config_dev。它的意思是,没有安装与该配置相关联的bundle。
只要删除"service"块,你应该没事,因为干净安装symfony并运行
composer require fzaninotto/Faker
您的config.yml
文件中出现了简单的打字错误,您将service:
写成了services:
你可以像这样用composer自动加载第三方库
// composer.json
{
// ...
"autoload": {
"psr-4": {
"Custom\Namespace\": "relative/path/to/library"
}
}
}
路径必须是相对于包根目录的。
您可以在编写器文档中找到更多信息