автоматическая загрузка psr-4 теряется во время установки
Это композитор.json моего пакета (сокращенный)
{
"name": "acme/my-bundle",
"type": "library",
"version": "0.5.0",
"autoload": {
"psr-4": {
"Acme\\MyBundle\\": ""
}
}
}
И в моем проекте:
"require": {
"acme/my-bundle": "dev-master"
},
Затем я запускаю composer install
, в результате чего устанавливается файл.json, подобный
[
{
"name": "acme/my-bundle",
"version": "dev-master",
"version_normalized": "9999999-dev",
"type": "library",
"installation-source": "source"
//
// here must be this:
// "autoload": {
// "psr-4": {
// "Acme\\MyBundle\\": ""
// }
// },
// but these lines are missing!
//
}
]
И a autoload-psr4.php :
<?php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
/* here must be this:
* 'Acme\\MyBundle\\' => array($vendorDir . '/acme/my-bundle'),
* but this line is missing!
*/
);
Автозапуск исчез, а также другие клавиши, такие как require
Чего мне не хватает?
Я также пробовал psr-0, но безуспешно. autoload_namespaces.php это просто пустой массив.
4
1 answers
Я не упомянул, что хотел получить пакет из частного репо! Это будет иметь значение!
Поэтому мне пришлось повторно указать загрузку
"require": {
"acme/my-bundle": "dev-master"
},
"repositories": [
{
"type": "package",
"package": {
"version": "dev-master",
"name": "acme/my-bundle",
"source": {
"url": "ssh://[email protected]/acme/my-bundle",
"type": "git",
"reference": "test"
},
// THIS IS |
// ADDITIONAL V
"autoload": {
"psr-4": {
"Acme\\MyBundle\\": ""
}
}
}
}
]
См. https://stackoverflow.com/a/24193122/816362 Спасибо @zacharydanger
2
Author: auipga, 2017-05-23 10:27:49