【问题标题】:Composer gives me [ErrorException] Undefined index: username after installComposer 给我 [ErrorException] 未定义索引:安装后的用户名
【发布时间】:2021-09-10 12:16:25
【问题描述】:

我在 Ubuntu 上,我已经按照作曲家网站指南安装了作曲家:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

然后我按照以下说明进行操作:

您很可能希望将 composer.phar 放入 PATH 上的目录中,因此您可以简单地从任何目录(全局安装)调用 composer,例如:

sudo mv composer.phar /usr/local/bin/composer

现在当我打电话给composer -v 时,我收到了这个错误:

composer -v

                             
  [ErrorException]           
  Undefined index: username  
                             

Exception trace:
 () at phar:///usr/local/bin/composer/src/Composer/IO/BaseIO.php:147
 Composer\Util\ErrorHandler::handle() at phar:///usr/local/bin/composer/src/Composer/IO/BaseIO.php:147
 Composer\IO\BaseIO->loadConfiguration() at phar:///usr/local/bin/composer/src/Composer/Factory.php:346
 Composer\Factory->createComposer() at phar:///usr/local/bin/composer/src/Composer/Factory.php:604
 Composer\Factory::create() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:416
 Composer\Console\Application->getComposer() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:535
 Composer\Console\Application->getPluginCommands() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:189
 Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
 Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:125
 Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:64
 require() at /usr/local/bin/composer:24

这是 composer.json 项目

{
    "name": "magento/project-community-edition",
    "description": "eCommerce Platform for Growth (Community Edition)",
    "type": "project",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "config": {
        "preferred-install": "dist",
        "sort-packages": true
    },
    "version": "2.4.1",
    "require": {
        "magento/composer-root-update-plugin": "~1.0",
        "magento/product-community-edition": "2.4.1",
        "scandipwa/sample-data": "^1.1",
        "scandipwa/theme": "^0.0.1"
    },
    "autoload": {
        "exclude-from-classmap": [
            "**/dev/**",
            "**/update/**",
            "**/Test/**"
        ],
        "files": [
            "app/etc/NonComposerComponentRegistration.php"
        ],
        "psr-0": {
            "": [
                "app/code/",
                "generated/code/"
            ]
        },
        "psr-4": {
            "Magento\\": "app/code/Magento/",
            "Magento\\Framework\\": "lib/internal/Magento/Framework/",
            "Magento\\Setup\\": "setup/src/Magento/Setup/",
            "Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/"
        }
    },
    "require-dev": {
        "allure-framework/allure-phpunit": "~1.2.0",
        "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0",
        "friendsofphp/php-cs-fixer": "~2.16.0",
        "lusitanian/oauth": "~0.8.10",
        "magento/magento-coding-standard": "*",
        "magento/magento2-functional-testing-framework": "^3.0",
        "pdepend/pdepend": "~2.7.1",
        "phpcompatibility/php-compatibility": "^9.3",
        "phpmd/phpmd": "^2.8.0",
        "phpstan/phpstan": ">=0.12.3 <=0.12.23",
        "phpunit/phpunit": "^9",
        "sebastian/phpcpd": "~5.0.0",
        "squizlabs/php_codesniffer": "~3.5.4"
    },
    "conflict": {
        "gene/bluefoot": "*"
    },
    "autoload-dev": {
        "psr-4": {
            "Magento\\PhpStan\\": "dev/tests/static/framework/Magento/PhpStan/",
            "Magento\\Sniffs\\": "dev/tests/static/framework/Magento/Sniffs/",
            "Magento\\TestFramework\\Inspection\\": "dev/tests/static/framework/Magento/TestFramework/Inspection/",
            "Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/",
            "Magento\\Tools\\": "dev/tools/Magento/Tools/",
            "Magento\\Tools\\Sanity\\": "dev/build/publication/sanity/Magento/Tools/Sanity/"
        }
    },
    "minimum-stability": "stable",
    "prefer-stable": true,
    "repositories": {
        "0": {
            "type": "composer",
            "url": "https://repo.magento.com/"
        },
        "scandipwa": {
            "type": "path",
            "url": "scandipwa"
        }
    },
    "extra": {
        "magento-force": "override"
    }
}

【问题讨论】:

  • 请分享更多细节 - 在当前路径或全局路径中是否有写入 composer.json 的内容?
  • 不,没有composer.json文件
  • 我根本无法运行它
  • 你能分享一下composer.json的内容吗?
  • @NicoHaase 我在哪里可以找到?

标签: php composer-php


【解决方案1】:

在我的情况下,这是因为 COMPOSER_HOME 中的auth.json

{
  "http-basic": {
      "http-basic": {
         "php.fury.io": {
            "username": "",
            "password": ""
          }
      },
   }
}

// should be
{
  "http-basic": {
      "php.fury.io": {
        "username": "",
        "password": ""
      }
   }
}

似乎作曲家试图在“http-basic”中查找“用户名”但找不到它并导致未定义的“用户名”索引错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-09
    • 2021-08-22
    • 2021-02-13
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多