【问题标题】:composer auth.json not working / ignoring auth.json作曲家 auth.json 不工作/忽略 auth.json
【发布时间】:2020-12-04 09:55:31
【问题描述】:

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

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

如果我在存储库对象的 composer.json 文件中使用内联身份验证,它可以工作。
{"repositories": [{"type": "composer", "url": "https://extremely:secret@repo.example.org"}]}

我收到以下错误消息:

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 information
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

我希望有人可以帮助我:) thx!

【问题讨论】:

    标签: php gitlab composer-php


    【解决方案1】:

    Gitlab 更新了他的文档。

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

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

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

    【讨论】:

      【解决方案2】:

      为了详细说明 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>"
          }
      }
      

      这对我有用。

      【讨论】:

        【解决方案3】:

        尝试编辑:

        /home/{USER}/.config/composer/auth.json 文件

        【讨论】:

          猜你喜欢
          • 2015-06-14
          • 1970-01-01
          • 1970-01-01
          • 2021-07-08
          • 2015-06-13
          • 1970-01-01
          • 2013-12-03
          • 1970-01-01
          相关资源
          最近更新 更多