文件 autoload_psr4.php 不包含来自“autoload-dev”部分的命名空间,仅来自“autoload”部分。
当我的 composer.json 读取时
"autoload": {
"psr-4": {
"Namespace\\": "src/"
}
},
"autoload-dev": {
"prs-4": {
"Namespace\\Tests\\": "tests/"
}
}
然后我跑
composer require vendor/namespace 1.0-dev
我的/vendor/composer/autoload_prs4.php 文件显示为
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Namespace\\' => array($baseDir . '/src'),
);
谢谢!
最佳答案
我的猜测是您正在显示 vendor/namespace
包的 composer.json
。如果是这样的话:
看看the docs .它说:“autoload-dev(仅限 root)”。 root only 表示它只适用于根包。当您包含包时,显示的 composer.json
文件不是根包,因此会忽略 autoload-dev
部分。
关于php - Composer autoload-dev 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36538972/