У меня есть репозиторий пакетов private-i sh, который я пытаюсь выпустить внутри компании, в которой я работаю, как пакет composer.
Я создал пакет со следующим composer.json
file:
{
"name": "my_team/package_name",
"description": "Package Description",
"homepage": "https://git.company.com/MyTeam/package_name",
"type": "library",
"license": "Proprietary",
"minimum-stability": "stable",
"version": "1.4",
"require": {
"php": ">=7.1.0",
"ext-curl": "*",
"ext-json": "*"
},
"autoload": {
"psr-4": {
"PackageNamespace\\": "src/"
}
}
}
Все пути в пакете верны, и я создал тег и выпуск в репозитории Enterprise Github, содержащий zip-файл пакета версии 1.4.
Я хотел проверить, работает ли пакет, поэтому я создал тестовый сценарий для его запуска, и в нем есть следующий файл composer.json
:
{
"name": "benjam/test",
"repositories": [
{
"type": "package",
"package": {
"name": "my_team/package_name",
"version": "1.4",
"dist": {
"type": "zip",
"url": "https://git.company.com/MyTeam/package_name/archive/v1.4.zip"
}
}
}
],
"require": {
"my_team/package_name": "1.4"
}
}
и файл main.php
с следующее содержимое:
<?php
require __DIR__ . '/vendor/autoload.php';
$obj = new PackageNamespace\ClassName();
Когда я пытаюсь запустить этот файл, я получаю следующую ошибку:
PHP Fatal error: Uncaught Error: Class 'PackageNamespace\ClassName' not found in C:\Development\test\main.php:5
Stack trace:
#0 {main}
thrown in C:\Development\test\main.php on line 5
Fatal error: Uncaught Error: Class 'PackageNamespace\ClassName' not found in C:\Development\test\main.php on line 5
Error: Class 'PackageNamespace\ClassName' not found in C:\Development\test\main.php on line 5
Call Stack:
0.2130 353200 1. {main}() C:\Development\test\main.php:0
Кажется, что автозагрузчик composer не видит установленный пакет.
Что я сделал не так?
Другой тестовый сценарий composer.json
настройки, которые я пробовал:
"repositories": [
{
"type": "package",
"package": {
"name": "my_team/package_name",
"version": "1.4",
"source": {
"type": "git",
"url": "https://git.company.com/MyTeam/package_name",
"reference": "origin/master"
}
}
}
],