php - BOM 错误,未检测到输入错误

标签 php json magento docker byte-order-mark

这是我的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-Mark

update [--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/

相关文章:

php - pdo 中的这些 mysql 函数相当于什么?

stdin - PHP CLI 中的 STDIN 非阻塞

php - 如何解析 <a name 和 <image src= inside <li tag using php?

json - 发布一个列表并使用 Dart 对其进行迭代

ruby - 如何使用 Magentor gem

javascript - jQuery 函数未正确执行

php - 如何检测标记是否在谷歌地图中的多边形内

javascript - 不要读取node.js中的JSON对象

java - Android 将 String 转换为 HashMap

php - 自定义模块 magento 中的管理员用户访问被拒绝