这是我的JSON
{
"name": "dockerizing-magento",
"description": "ADockerizedMagentoCommunityEdition",
"require": {
"magento-hackathon/magento-composer-installer": "v2.1.1",
"magento/core": "1.9.1.0-patch1"
},
"require-dev": {},
"repositories": [],
"extra": {
"magento-root-dir": "web",
"auto-append-gitignore": true
},
"config": {
"discard-changes": true
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-install-cmd": [],
"post-update-cmd": []
}
}
当我尝试 Composer 更新
它给出了错误
[Seld\JsonLint\ParsingException]
"./composer.json" does not contain valid JSON
BOM detected, make sure your input does not include a Unicode Byte-Order-Markupdate [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [-i|--interactive] [--root-reqs] [--] []...
但根据几个网站是有效的
https://jsonformatter.curiousconcept.com/
比如这里
我按照这个教程
https://andykdocs.de/development/Docker/Dockerize-Magento
但是几个小时后,我收到了这个错误。请帮忙
我尝试在 docker 中构建一个 magento。
最佳答案
Byte Order Mark (简称BOM)是只存在于文件中的东西。当编辑器或文本查看器呈现您的 composer.json
时,它会删除 BOM,因此如果您将 composer.json
的内容粘贴到基于 Web 的 linter 中,它不会不再有 BOM,因此您粘贴到的基于 Web 的工具将对其进行验证。您应该做的是从文件 中删除BOM,您可以使用awk
command that I borrowed from this answer 来完成。
mv composer.json composer-bom.json # rename file with BOM
awk 'NR==1{sub(/^\xef\xbb\xbf/,"")}{print}' composer-bom.json > composer.json
rm -f composer-bom.json # delete file with BOM
关于php - BOM 错误,未检测到输入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39333338/