编写器自动加载psr-4未将命名空间添加到自动加载_psr4.php

编写器自动加载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

我正在一个项目中使用github中的自定义存储库,其中包含我的工具集

项目正确地将包导入/vendor目录中,但我不能使用任何类,因为它没有自动加载包的内容

My package 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.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
文件