2017-01-19 7 views
0

Ich habe ein privates Repository auf Bitbucket mit einem externen Modul erstellt und es meiner Abhängigkeitsliste in der composer.json-Datei eines Projekts hinzugefügt. Das Problem ist, dass nach „Komponisten installieren“ habe ich mein Modul im Kreditoren Ordner heruntergeladen, aber es wirft einen Reflection:Yii2 Autoloading Extension-Klassen

Klasse example \ Nachrichten \ Module nicht vorhanden

externen Modul Komponisten. 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" : "*" 
    } 
} 

Projekt 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" 
     } 
     } 
    } 
    ] 

Verkäufer/Komponist/autoload_psr4.php do'nt jede recor über neue externe Modul

<?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'), 
); 

Antwort

0

Dass Komponisten Repositorys Konfiguration sieht zu komplex enthalten. Sollte viel einfacher funktionieren zum Beispiel mit:

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

Danke, aber diese Empfehlung hat keinen Einfluss auf das Ergebnis. –