这是我的JSON
composer update
当我尝试{{1}}
时它给出错误
[SELD \ JsonLint \ ParsingException]
“./composer.json”不包含有效的JSON
检测到BOM,确保您的输入不包含Unicode 字节顺序标记更新[--prefer-source] [--prefer-dist] [ - dr-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。
答案 0 :(得分:1)
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
答案 1 :(得分:0)
我在PowerShell中遇到无法识别的问题。所以我找到了一个简单得多的解决方案。打开记事本,只需复制并粘贴作曲家文件中的内容即可。保存文件,然后重命名文件composer.json,一切将按您预期的那样工作。