我正在尝试对Atom包进行次要更新,但我不断收到“标头内容包含无效字符”
我做了什么: 克隆了仓库 设置远程分支,获取分支,提取内容。 修改内容。 更改package.json中的版本。 git添加。 git提交。 git push。
然后我使用apm publish minor。
我一直收到这个令人讨厌的错误,但是我在互联网上找不到任何东西。我什至不知道如何获取更多详细信息,甚至标题是什么?是package.json吗?
这是默认情况下原子包的package.json外观:
{
"name": "my-test-package",
"main": "./lib/my-test-package",
"version": "0.0.0",
"description": "A short description of your package",
"keywords": [
],
"activationCommands": {
"atom-workspace": "my-test-package:toggle"
},
"repository": "https://github.com/atom/my-test-package",
"license": "MIT",
"engines": {
"atom": ">=1.0.0 <2.0.0"
},
"dependencies": {
}
}
我唯一更改的是版本的第二位。
答案 0 :(得分:1)
这个问题现在已经很老了,但是它仍然是该问题的最佳结果之一-因此,我将添加解决方案。
TLDR::您可能不小心在身份验证令牌中添加了非法字符(换行符等)。您可以通过以下方法解决此问题:
就是这样-您的软件包现在应该发布了!
长版:
当apm publish检测到您的package.json文件存在问题时,它将抛出解析package.json文件的错误:,并为您提供错误令牌/字符的位置。在这种情况下失败的标头内容在实际的json之前发送,并包含诸如身份验证令牌之类的内容。
通常,关于此标头的问题是您已更改的一件事-身份验证令牌。当将意外的字符(通常是不可见的字符)添加到令牌中时,它会中断此json前标头的处理。并且由于您的计算机有帮助地将这个损坏的令牌保存到了钥匙圈,因此您将无休止地收到这个神秘的错误。