2017-01-19 47 views
0

我已经使用外部模块在Bitbucket上创建了一个私有存储库,并将其添加到项目的composer.json文件的依赖项列表中。 的问题是,经过“作曲家安装”我得到了我的模块在供应商的文件夹下载,但它抛出一个ReflectionException:Yii2自动加载扩展类

类例如\新闻\模块不存在

外部模块作曲家。 JSON:

{ 
    "name": "example/yii2-module-news", 
    "description": "News", 
    "type": "yii2-extension", 
    "keywords": ["yii2", "extension", "news"], 
    "authors": [ 
     { 
      "name": "me" 
     } 
    ], 
    "autoload": { 
     "psr-4": { 
      "example\\news\\": "" 
     } 
    }, 
    "require": { 
     "2amigos/yii2-ckeditor-widget" : "~1.0", 
     "kartik-v/yii2-widgets": "*", 
     "kartik-v/yii2-grid": "@dev", 
     "kartik-v/yii2-editable": "@dev", 
     "kartik-v/yii2-krajee-base": "@dev", 
     "kartik-v/yii2-helpers": "*", 
     "kartik-v/yii2-mpdf" : "*" 
    } 
} 

项目composer.json

"repositories": [ 
    { 
     "type": "package", 
     "package": { 
     "name": "example/yii2-module-news", 
     "version": "master", 
     "source": { 
      "type": "git", 
      "url": "[email protected]:example/yii2-module-news.git", 
      "reference": "master" 
     } 
     } 
    } 
    ] 

供应商/作曲/ autoload_psr4.php do'nt包含新的外部模块

<?php 

// autoload_psr4.php @generated by Composer 

$vendorDir = dirname(dirname(__FILE__)); 
$baseDir = dirname($vendorDir); 

return array(
    'yii\\twig\\' => array($vendorDir . '/yiisoft/yii2-twig'), 
    'yii\\swiftmailer\\' => array($vendorDir . '/yiisoft/yii2-swiftmailer'), 
    'yii\\jui\\' => array($vendorDir . '/yiisoft/yii2-jui'), 
    'yii\\gii\\' => array($vendorDir . '/yiisoft/yii2-gii'), 
    'yii\\faker\\' => array($vendorDir . '/yiisoft/yii2-faker'), 
    'yii\\debug\\' => array($vendorDir . '/yiisoft/yii2-debug'), 
    'yii\\composer\\' => array($vendorDir . '/yiisoft/yii2-composer'), 
    'yii\\codeception\\' => array($vendorDir . '/yiisoft/yii2-codeception'), 
    'yii\\bootstrap\\' => array($vendorDir . '/yiisoft/yii2-bootstrap'), 
    'yii\\' => array($vendorDir . '/yiisoft/yii2'), 
    'voskobovich\\behaviors\\' => array($vendorDir . '/voskobovich/yii2-many-many-behavior/src'), 
    'skeeks\\widget\\chosen\\' => array($vendorDir . '/skeeks/yii2-widget-chosen'), 
    'rmrevin\\yii\\fontawesome\\' => array($vendorDir . '/rmrevin/yii2-fontawesome'), 
    'mihaildev\\elfinder\\' => array($vendorDir . '/mihaildev/yii2-elfinder'), 
    'kartik\\tree\\' => array($vendorDir . '/kartik-v/yii2-tree-manager'), 
    'kartik\\select2\\' => array($vendorDir . '/kartik-v/yii2-widget-select2'), 
    'kartik\\growl\\' => array($vendorDir . '/kartik-v/yii2-widget-growl'), 
    'kartik\\form\\' => array($vendorDir . '/kartik-v/yii2-widget-activeform'), 
    'kartik\\dialog\\' => array($vendorDir . '/kartik-v/yii2-dialog'), 
    'kartik\\datetime\\' => array($vendorDir . '/kartik-v/yii2-widget-datetimepicker'), 
    'kartik\\daterange\\' => array($vendorDir . '/kartik-v/yii2-date-range'), 
    'kartik\\date\\' => array($vendorDir . '/kartik-v/yii2-widget-datepicker'), 
    'kartik\\base\\' => array($vendorDir . '/kartik-v/yii2-krajee-base'), 
    'dosamigos\\ckeditor\\' => array($vendorDir . '/2amigos/yii2-ckeditor-widget/src'), 
    'dmstr\\' => array($vendorDir . '/dmstr/yii2-adminlte-asset'), 
    'creocoder\\nestedsets\\' => array($vendorDir . '/creocoder/yii2-nested-sets/src'), 
    'cebe\\markdown\\' => array($vendorDir . '/cebe/markdown'), 
    'Faker\\' => array($vendorDir . '/fzaninotto/faker/src/Faker'), 
); 

回答

0

这作曲家库配置看起来太复杂的任何录音功。应该工作更容易,例如:

"repositories": [ 
    { 
     "type": "git", 
     "url": "[email protected]:example/yii2-module-news.git" 
    }, 
    ] 
+0

谢谢,但这个建议不影响结果。 –