【问题标题】:如何在 symfony 3 中将依赖项移出供应商?
【发布时间】:2022-01-22 11:49:15
【问题描述】:

我“继承”了一个项目,该项目具有我无权访问的 git 依赖项。我拥有整个/vendor 目录的内容,并希望将依赖项移出它,这样我就不需要将整个/vendor 目录提交给git。我已将具有依赖关系的目录移动到 /my-vendor 目录(与供应商处于同一级别),但不知道如何将其包含到项目中。 运行 composer install 时,我得到:

  [RuntimeException]                                                                                                                                                                                  
  An error occurred when executing the "'cache:clear --no-warmup'" command:                                                                                                                           
  Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "MY_BUNDLE_CLASS" from namespace "DEP_NAME\MY_BUNDLE".                                
  Did you forget a "use" statement for another namespace? in /app/app/AppKernel.php:40                                                                                                                
  Stack trace:                                                                                                                                                                                        
  #0 /app/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php(406): AppKernel->registerBundles()                                                                                       
  #1 /app/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php(113): Symfony\Component\HttpKernel\Kernel->initializeBundles()                                                           
  #2 /app/app/AppKernel.php(21): Symfony\Component\HttpKernel\Kernel->boot()                                                                                                                          
  #3 /app/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(137): AppKernel->boot()                                                                                   
  #4 /app/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php(124): Symfony\Bundle\FrameworkBundle\Console\Application->registerCommands()                              
  #5 /app/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(89): Symfony\Bundle\FrameworkBundle\Console\Application->add(Object(Symfony\Component\Console in /app/app/AppKernel.   
  php on line 40  

MY_BUNDLE_CLASS, DEP_NAME, and MY_BUNDLE 正在编辑中。

【问题讨论】:

    标签: php symfony composer-php


    【解决方案1】:

    例如,您可以将这些捆绑包放在bundle 目录中,然后将以下行添加到composer.json

    "repositories": [
      {
          "type" : "path",
          "url" : "./bundles/your-bundle"
      }
    ]
    

    【讨论】:

      猜你喜欢
      • 2015-05-23
      • 1970-01-01
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      • 2016-11-22
      相关资源
      最近更新 更多