首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >BOM错误,输入未检测到错误

BOM错误,输入未检测到错误
EN

Stack Overflow用户
提问于 2016-09-05 23:03:45
回答 2查看 1.4K关注 0票数 3

这是我的JSON

代码语言:javascript
复制
{
    "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 update

它给出的误差是

解析器异常\

异常

"./composer.json“不包含有效的JSON

检测到BOM,请确保您的输入不包含Unicode字节顺序标记

更新--首选源--dry-run --no-dev --no-plugins --no-autoloader --no-progress -v|vv|vvv|--verbose -a|--classmap-authoritative --首选-稳定-i|--交互式--...

但根据几个网站的说法,它是有效的

https://jsonformatter.curiousconcept.com/

例如这里

我遵循以下教程

https://andykdocs.de/development/Docker/Dockerize-Magento

但在几个小时内,我收到了这个错误。请帮帮忙

我试着在码头里造一个magento。

EN

回答 2

Stack Overflow用户

发布于 2016-09-05 23:13:41

Byte Order Mark (简称BOM)是只存在于文件中的东西。当编辑器或文本查看器呈现您的composer.json时,它会删除物料清单,所以如果您将composer.json的内容粘贴到基于web的林特中,它将不再具有物料清单,因此您粘贴到其中的基于web的工具将对其进行验证。您应该做的是从文件中删除物料清单,您可以使用awk command that I borrowed from this answer执行此操作

代码语言:javascript
复制
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
票数 4
EN

Stack Overflow用户

发布于 2018-12-13 06:01:16

我遇到了在我的PowerShell中没有被识别的awk。所以我找到了一个更简单的解决方案。打开记事本,简单地复制并跳过编写器文件中的内容。保存文件,然后将文件重命名为composer.json,一切都将按您预期的那样工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39333338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档