作曲家auth.json无法正常工作/忽略auth.json

问题描述

我使用gitlab的新feature作曲家软件包注册表。 它工作正常,但使用auth.json文件进行的身份验证不起作用。

我完成了gitlab和composer文档中的所有步骤,但未成功。 我尝试将auth.json文件存储在composer.json文件旁边和%APPDATA%/Composer处,但这没有什么不同。我总是得到相同的错误消息。

如果我在存储库对象的composer.json文件中使用内联身份验证,则它起作用。
{"repositories": [{"type": "composer","url": "https://extremely:[email protected]"}]}

我收到以下错误消息:

C:\path\to\project> composer update -vvv
Reading ./composer.json
Loading config file ./composer.json
Loading config file C:\path\to\project/auth.json
Reading C:\path\to\project/auth.json
Checked CA file C:\Users\user\AppData\Local\Temp\opeD84C.tmp: valid
Executing command (C:\path\to\project\ida.argo.data): git branch --no-color --no-abbrev -v
Reading C:/Users/user/AppData/Roaming/Composer/composer.json
Loading config file C:/Users/user/AppData/Roaming/Composer/composer.json
Running 1.10.10 (2020-08-03 11:35:19) with PHP 7.4.8 on Windows NT / 10.0
Loading composer repositories with package @R_477_4045@ion
Downloading https://gitlab.com/api/v4/group/8835906/-/packages/composer/packages.json


  [Composer\Downloader\TransportException]
  The "https://gitlab.com/api/v4/group/8835906/-/packages/composer/packages.json" file Could not be downloaded (HTTP/
  1.1 404 Not Found)


Exception trace:
 () at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Util/RemoteFilesystem.PHP:441
 Composer\Util\RemoteFilesystem->get() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Util/RemoteFilesystem.PHP:105
 Composer\Util\RemoteFilesystem->getContents() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Repository/ComposerRepository.PHP:695
 Composer\Repository\ComposerRepository->fetchFile() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Repository/ComposerRepository.PHP:506
 Composer\Repository\ComposerRepository->loadRootServerFile() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Repository/ComposerRepository.PHP:285
 Composer\Repository\ComposerRepository->hasProviders() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/DependencyResolver/Pool.PHP:108
 Composer\DependencyResolver\Pool->addRepository() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Installer.PHP:393
 Composer\Installer->doInstall() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Installer.PHP:232
 Composer\Installer->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Command/UpdateCommand.PHP:163
 Composer\Command\UpdateCommand->execute() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Command/Command.PHP:245
 Symfony\Component\Console\Command\Command->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.PHP:835
 Symfony\Component\Console\Application->doruncommand() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.PHP:185
 Symfony\Component\Console\Application->doRun() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.PHP:281
 Composer\Console\Application->doRun() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/vendor/symfony/console/Application.PHP:117
 Symfony\Component\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Console/Application.PHP:113
 Composer\Console\Application->run() at phar://C:/ProgramData/ComposerSetup/bin/composer.phar/bin/composer:61
 require() at C:\ProgramData\ComposerSetup\bin\composer.phar:24

我希望有人能帮助我:)谢谢!

解决方法

为了详细说明 Arth 的答案,以及对于遵循 Gitlab 说明但在(本地)gitlab 服务器上使用不同端口的人来说:将端口添加到不同的配置中。

composer.json

"config": {
    "gitlab-domains": [
        "<your gitlab domain>:<custom port>"
    ]
},

auth.json

{
    "gitlab-token": {
        "<your gitlab domain>:<custom port>": "<personal_access_token>"
    }
}

这对我有用。

,

Gitlab更新了他的文档。

https://docs.gitlab.com/ee/user/packages/composer_repository/index.html

您必须在gitlab-token中使用auth.json配置。

{
    "gitlab-token": {
       "gitlab.com": "<personal_access_token>"
    }
}