The file autoload_psr4.php not contains the namespace from "autoload-dev" section only from "autoload" section.
When my composer.json reads
"autoload": {
"psr-4": {
"Namespace\\": "src/"
}
},
"autoload-dev": {
"prs-4": {
"Namespace\\Tests\\": "tests/"
}
}
And I run
composer require vendor/namespace 1.0-dev
My /vendor/composer/autoload_prs4.php file appears as
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'Namespace\\' => array($baseDir . '/src'),
);
Thanks!
My guess is that you're showing the composer.json
of vendor/namespace
package. If that's the case:
Take a look at the docs. It says: "autoload-dev (root only)". root only means it only applies to the root package. As you included the package, the shown composer.json
file is not the root package and the autoload-dev
section is thus ignored.
Since this is the first Search Engine result when searching for "autoload-dev not working": In composer.json, if "autoload-dev"
was added after defining and using "autoload"
, run $ composer dump-autoload
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With