Php Composer-私人软件包未进入自动加载程序

Php Composer-私人软件包未进入自动加载程序,php,composer-php,Php,Composer Php,我已经创建了一个自定义包,它位于我们的GitLab存储库中,下面是它的composer.json: { "name": "TeamScanblox/InternalAPI_Ref", "description": "", "keywords": [ "swagger", "php", "sdk", "api" ], "homepage": "http://swagger.io", "l

我已经创建了一个自定义包,它位于我们的GitLab存储库中,下面是它的composer.json:

{
    "name": "TeamScanblox/InternalAPI_Ref",
    "description": "",
    "keywords": [
        "swagger",
        "php",
        "sdk",
        "api"
    ],
    "homepage": "http://swagger.io",
    "license": "proprietary",
    "authors": [
        {
            "name": "Swagger and contributors",
            "homepage": "https://github.com/swagger-api/swagger-codegen"
        }
    ],
    "require": {
        "php": ">=5.5",
        "ext-curl": "*",
        "ext-json": "*",
        "ext-mbstring": "*",
        "guzzlehttp/guzzle": "^6.2"
    },
    "require-dev": {
        "phpunit/phpunit": "^4.8",
        "squizlabs/php_codesniffer": "~2.6",
        "friendsofphp/php-cs-fixer": "~2.12"
    },
    "autoload": {
        "psr-4": { "InternalAPI\\Ref\\" : "lib/" }
    },
    "autoload-dev": {
        "psr-4": { "InternalAPI\\Ref\\" : "test/" }
    }
}
这是它的文件夹顶级结构:

我将它作为“TeamScanblox/InternalAPI_Ref”:“*”包含在我需要它的顶级项目的composer.json中,问题是它不能通过PSR-4自动解析并包含在该项目中。将其包括在内并发挥作用的唯一方法是在项目的“psr-4”中添加“InternalAPI\Ref\”:“vendor/TeamScanblox/InternalAPI_Ref/lib/”。为什么呢?我做了什么错事/没有做对让它自动加载

我将其包含在项目“composer.json”中,如下所示:

{
  "type": "package",
  "package": {
    "name": "TeamScanblox/InternalAPI_Ref",
    "version": "1.0.0",
    "type": "package",
    "source": {
      "url": "git@gitlab.com:TeamScanblox/InternalAPI_Ref.git",
      "type": "git",
      "reference": "master"
    }
  }
}

如果通过使用
类型将库包含在应用程序中,则必须在
描述中提及Composer对库的所有了解,包括自动加载和任何其他要求

通常,只有在无法更改代码来源的情况下,才应使用此
包。幸运的是,您可以完全控制库的存储库,只需将Composer指向它即可

"repositories": [{
    "type": "vcs",
    "url": "ssh://git@somewhere/path/repo.git"
}]
使用此示例而不是
“type”:“package”
,Composer将联系存储库并读取它的
Composer.json
,检测所有依赖项和自动加载,并像任何外部包一样安装它

请注意,您必须添加您使用的每个内部存储库。Composer不遵循库的
存储库
指针,它们都必须在应用程序的根
Composer.json
中复制