gpt4 book ai didi

postman - Newman:未知编码:latin1 在 AWS CodeBuild 上运行 Newman cli 时弹出

转载 作者:行者123 更新时间:2023-12-01 05:50:26 26 4
gpt4 key购买 nike

几个月前,我在 AWS CodeBuild 上安装了 Newman( postman cli),它运行良好。然后这个错误突然出现:error: Unknown encoding: latin1
在本地工作中完美运行相同的命令。

在 AWS EC2 实例上的 docker 内部运行相同的命令完美运行。

它仅在运行作为我的 AWS CodePipeline 一部分的 AWS CodeBuild 时才会失败。

JSON 文件中没有任何特殊字符。

这是我的 CodeBuild 的 buildSpec

version: 0.2
env:
variables:
AWS_HOST : "https://api.aws.com/demo-testing"
phases:
pre_build:
commands:
- npm install newman --global
build:
commands:
- newman run APITesting.json -e env.json --bail

一切正常,除了 - newman run APITesting.json -e env.json
它给了我一个毫无意义的错误: error: Unknown encoding: latin1
即使我用 demo.json 替换了 APITesting.json
演示.json:
{
"info": {
"_postman_id": "5bc2766f-eefc-48f2-a778-f05b2b2465ef",
"name": "A",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "GetMyProfile",
"event": [
{
"listen": "test",
"script": {
"id": "1b46d302-7014-4c09-bac9-751d2cec959d",
"exec": [
"pm.test(\"Status code is 200\", function () {",
" pm.response.to.have.status(200);",
"});"
],
"type": "text/javascript"
}
},
{
"listen": "prerequest",
"script": {
"id": "f9a5dc64-33ab-42b1-9efa-f0a3614db340",
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"auth": {
"type": "noauth"
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "user",
"value": "xxxx"
},
{
"key": "email",
"value": "xxxx@gmail.com"
},
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://api.aws.com/demo-testing/api/profile",
"protocol": "https",
"host": [
"api",
"aws",
"com"
],
"path": [
"demo-testing",
"api",
"profile"
]
}
},
"response": []
}
]
}

它仍然提示未知的编码。我尝试使用 file -i or file -I获取文件的编码。所有文件都在 utf-8 中编码或 us-ascii
[Container] 2019/02/27 06:26:34 Running command file -i APITesting.json
APITesting.json: text/plain; charset=utf-8
[Container] 2019/02/27 06:26:34 Running command file -i env.json
env.json: text/plain; charset=us-ascii
[Container] 2019/02/27 06:26:34 Running command file -i demo.json
env.json: text/plain; charset=utf-8

一切都在 Docker 容器内运行,但我认为这并不重要。

我从 Newman Github 搜索了所有问题,但没有运气。

我还搜索了与未知编码相关的所有内容:Google 中的 latin1、StackOverflow 和 AWS 论坛,但都没有结果。

我已经花了两天时间。任何人有任何线索?

非常感谢!!!

最佳答案

如果有人遇到这种情况,您可以使用以下命令将 UTF8 更改为带有 BOM 的 UTF8:
sed -i '1s/^\xEF\xBB\xBF//' your-file.json
这为我们解决了问题。

关于postman - Newman:未知编码:latin1 在 AWS CodeBuild 上运行 Newman cli 时弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54900481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com