У меня есть настройка Newman (почтальон) на AWS CodeBuild несколько месяцев назад, она отлично работала.Затем эта ошибка появилась из ниоткуда: error: Unknown encoding: latin1
Совершенно выполните ту же команду в локальной работе.
Выполните эту же команду внутри докера на экземпляре AWS EC2, чтобы работать отлично.
Сбой возможен только при запуске AWS CodeBuild, которая является частью моей AWS CodePipeline.
В файле JSON нет специальных символов.
Вот мой buildSpec для CodeBuild
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
Даже если я заменил APITesting.json на демо.json demo.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.
Я также искал все, что связано с неизвестной кодировкой: latin1 в Google, StackOverflow и дискуссионных форумах AWS безрезультатно.
Я уже потратил на это два дня.У кого-нибудь есть подсказка lue
Спасибо большое !!!
Кун