У меня есть сервер Satis с базовой HTTP-аутентификацией.
Файл конфигурации выглядит следующим образом:
{
"name": "MySatisServer",
"homepage": "https:\/\/satis.example.co.uk",
"repositories": [
{
"type": "git",
"url": "[email protected]:Org\/Repo1.git"
},
{
"type": "git",
"url": "[email protected]:Org\/Repo2.git"
},
{
"type": "git",
"url": "[email protected]:Org\/Repo3.git"
},
{
"type": "git",
"url": "[email protected]:Org\/Repo4.git"
}
],
"require-all": true,
"require-dependencies": true,
"require-dev-dependencies": true,
"archive": {
"directory": "dist",
"format": "zip",
"prefix-url": "https://satis.example.co.uk"
}
}
Я запустил сборку satis, которая создала каталог dist с файлом packages.json
, который выглядит правильно.
Я могу перейти на https://satis.example.co.uk
в своем браузере и загрузить любую версию репозиториев, которую я хочу, в виде ZIP-файла, и все работает нормально.
Проблема возникает, когда я пытаюсь использовать репозиторий через composer.
Мой файл composer.json
выглядит примерно так:
{
"name": "some/project",
"description": "",
"license": "proprietary",
"authors": [],
"require": {
"org/repo-4": "^1.0"
},
"repositories": [
{
"type": "composer",
"url": "https://satis.example.co.uk"
}
]
}
Поскольку Satis Server использует базовую HTTP-аутентификацию, у меня также есть файл auth.json
, который выглядит так:
{
"http-basic": {
"satis.example.co.uk": {
"username": "my-username",
"password": "my-password"
}
}
}
Запуск composer install
дает мне следующий результат:
- Installing org/repo-4 (1.0.0): Downloading (failed) Failed to download org/repo-4 from dist: The "https://api.github.com/repos/Org/Repo4/zipball/128f63b6a91cf71d5cda8f84861254452ff3a1af" file could not be downloaded (HTTP/1.1 404 Not Found)
Now trying to download from source
- Installing org/repo-4 (1.0.0): Cloning failed using an ssh key for authentication, enter your GitHub credentials to access private repos
Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+box359.localdomain+2017-04-18+1416
to retrieve a token. It will be stored in "/home/ubuntu/CashbackEngine/auth.json" for future use by Composer.
Token (hidden):
Как вы можете видеть из вышеизложенного, он полностью игнорирует тот факт, что файл, который ему нужно загрузить, находится по адресу https://satis.example.co.uk/dist/org/repo-4/repo-4-1.0.0-e1cd03.zip
, и прыгает прямо, чтобы попытаться получить его из источника на GitHub, что не является желаемым результатом, поскольку это частный репозиторий GitHub.
Похоже, он даже не осознает, что доступна другая дистрибутивная версия.
Что-то не так с моей настройкой?
Любая помощь приветствуется.