Magento 2.4.6-p3 composer.json格式错误修复方法
Magento 2.4.6-p3 composer.json 语法错误修复方案
错误原因分析
当前composer.json的repositories节点存在多处语法与结构问题,导致JSON解析失败:
prefer-stable: true后多了一个多余的{repositories数组内元素存在多余逗号、缺少分隔逗号- 仓库配置结构错误:
http-basic认证应嵌套在对应仓库的config节点下,而非直接放在仓库根节点 - 缺少仓库必填的
type和url字段
修复后的完整composer.json
{ "name": "magento/project-community-edition", "description": "eCommerce Platform for Growth (Community Edition)", "type": "project", "license": [ "OSL-3.0", "AFL-3.0" ], "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true, "laminas/laminas-dependency-plugin": true, "magento/*": true, "php-http/discovery": true }, "preferred-install": "dist", "sort-packages": true }, "version": "2.4.6-p3", "require": { "magento/product-community-edition": "2.4.6-p3", "magento/composer-dependency-version-audit-plugin": "~0.1", "magento/composer-root-update-plugin": "~2.0" }, "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/" } }, "require-dev": { "allure-framework/allure-phpunit": "^2", "dealerdirect/phpcodesniffer-composer-installer": "^0.7", "dg/bypass-finals": "^1.4", "friendsofphp/php-cs-fixer": "^3.8", "lusitanian/oauth": "^0.8", "magento/magento-coding-standard": "*", "magento/magento2-functional-testing-framework": "^4.3.1", "pdepend/pdepend": "^2.10", "phpmd/phpmd": "^2.12", "phpstan/phpstan": "^1.9", "phpunit/phpunit": "^9.5", "sebastian/comparator": "<=4.0.6", "sebastian/phpcpd": "^6.0", "symfony/finder": "^5.4", "symfony/process": "<=v5.4.23" }, "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": [ { "type": "composer", "url": "https://repo.magento.com/", "config": { "http-basic": { "repo.magento.com": { "username": "<your public key>", "password": "<your private key>" } } } }, { "type": "composer", "url": "https://repo.mageplaza.com/", "config": { "http-basic": { "repo.mageplaza.com": { "username": "<your mageplaza public key>", "password": "<your mageplaza private key>" } } } } ], "extra": { "magento-force": "override" } }
关键修复点说明
- 移除
prefer-stable: true后的多余{ - 为每个仓库补充
type: composer和官方仓库url字段 - 将
http-basic认证配置嵌套到对应仓库的config节点下 - 为
repositories数组内的仓库对象添加正确的逗号分隔
替换完成后,重新执行composer require mageplaza/module-core即可正常安装扩展。
内容的提问来源于stack exchange,提问作者Ginoi Marketpace
相关产品推荐
相关产品推荐

