编写器自动加载psr-4未将命名空间添加到自动加载_psr4.php
我正在一个项目中使用github中的自定义存储库,其中包含我的工具集 项目正确地将包导入/vendor目录中,但我不能使用任何类,因为它没有自动加载包的内容 My package composer.json文件如下所示:编写器自动加载psr-4未将命名空间添加到自动加载_psr4.php,php,composer-php,autoload,psr-4,Php,Composer Php,Autoload,Psr 4,我正在一个项目中使用github中的自定义存储库,其中包含我的工具集 项目正确地将包导入/vendor目录中,但我不能使用任何类,因为它没有自动加载包的内容 My package composer.json文件如下所示: { "name": "mynamespace/toolbox", "description": "Asdfoobar.", "keywords": ["mynamespace", "toolbox"], "license": "MIT", "require": { "p
{
"name": "mynamespace/toolbox",
"description": "Asdfoobar.",
"keywords": ["mynamespace", "toolbox"],
"license": "MIT",
"require": {
"php": ">=5.4"
},
"require-dev": {
"codeception/codeception": "2.0.2",
"codeception/specify": "0.3.6",
"codeception/verify": "0.2.7",
"mockery/mockery": "0.9.1"
},
"autoload": {
"psr-4": {
"Mynamespace\\": "src/Mynamespace",
"Mocks\\": "tests/Mocks"
}
},
"scripts": {
"post-install-cmd": [
],
"post-update-cmd": [
"php vendor/bin/codecept run"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
"require": {
[...stuff...]
"Mygitrepo/toolbox": "dev-master"
},
"repositories": [
{
"type": "package",
"package": {
"name": "Mygitrepo/toolbox",
"version": "master",
"source": {
"url": "https://github.com/Mygitrepo/toolbox.git",
"type": "git",
"reference": "master"
}
}
}
]
}
相反,在项目内部,composer.json文件如下所示:
{
"name": "mynamespace/toolbox",
"description": "Asdfoobar.",
"keywords": ["mynamespace", "toolbox"],
"license": "MIT",
"require": {
"php": ">=5.4"
},
"require-dev": {
"codeception/codeception": "2.0.2",
"codeception/specify": "0.3.6",
"codeception/verify": "0.2.7",
"mockery/mockery": "0.9.1"
},
"autoload": {
"psr-4": {
"Mynamespace\\": "src/Mynamespace",
"Mocks\\": "tests/Mocks"
}
},
"scripts": {
"post-install-cmd": [
],
"post-update-cmd": [
"php vendor/bin/codecept run"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
"require": {
[...stuff...]
"Mygitrepo/toolbox": "dev-master"
},
"repositories": [
{
"type": "package",
"package": {
"name": "Mygitrepo/toolbox",
"version": "master",
"source": {
"url": "https://github.com/Mygitrepo/toolbox.git",
"type": "git",
"reference": "master"
}
}
}
]
完成composer更新后的最后一次自动加载_psr4.php,composer dump如下所示:
没有“Mynamespace”的痕迹
有什么帮助吗?在这里也适用
因为您在“存储库”中提供了一个“type:package”条目,所以您禁用了包中的composer.json
文件
并且包定义中没有定义自动加载,因此包根本没有自动加载
解决方案:不要对您拥有的存储库使用“type:package”条目,这些存储库中包含composer.json
文件