one-command-tangle_tools_api_1 Не удалось запустить запуск TypeError: Невозможно прочитать свойство 'length' из неопределенного и завершено с кодом 0 - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь получить свой личный клубок и следовать указаниям .

Я запускаю команду

docker-compose -f docker-compose.yml -f docker-compose-tools.yml up

, но все не получается go ,

Starting one-command-tangle_iri_1          ... done
Starting one-command-tangle_tools_api_1    ... done
Starting one-command-tangle_tools_client_1 ... done
Starting one-command-tangle_compass_1      ... done
Attaching to one-command-tangle_iri_1, one-command-tangle_tools_client_1, one-command-tangle_tools_api_1, one-command-tangle_compass_1
iri_1           | Logging - property 'logging-level' set to: [INFO]
tools_api_1     | (node:1) [DEP0091] DeprecationWarning: crypto.DEFAULT_ENCODING is deprecated.
tools_api_1     | (node:1) [DEP0010] DeprecationWarning: crypto.createCredentials is deprecated. Use tls.createSecureContext instead.
tools_api_1     | (node:1) [DEP0011] DeprecationWarning: crypto.Credentials is deprecated. Use tls.SecureContext instead.
tools_api_1     | Failed running startup TypeError: Cannot read property 'length' of undefined
tools_api_1     |     at /usr/src/app/api/dist/index.js:67:60
tools_api_1     |     at step (/usr/src/app/api/dist/index.js:33:23)
tools_api_1     |     at Object.next (/usr/src/app/api/dist/index.js:14:53)
tools_api_1     |     at /usr/src/app/api/dist/index.js:8:71
tools_api_1     |     at new Promise (<anonymous>)
tools_api_1     |     at __awaiter (/usr/src/app/api/dist/index.js:4:12)
tools_api_1     |     at /usr/src/app/api/dist/index.js:61:75
tools_api_1     |     at Function.AppHelper.build (/usr/src/app/api/dist/utils/appHelper.js:130:17)
tools_api_1     |     at Object.<anonymous> (/usr/src/app/api/dist/index.js:61:23)
tools_api_1     |     at Module._compile (internal/modules/cjs/loader.js:688:30)
tools_api_1     |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
tools_api_1     |     at Module.load (internal/modules/cjs/loader.js:598:32)
tools_api_1     |     at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
tools_api_1     |     at Function.Module._load (internal/modules/cjs/loader.js:529:3)
tools_api_1     |     at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
tools_api_1     |     at startup (internal/bootstrap/node.js:285:19)
one-command-tangle_tools_api_1 exited with code 0


Это часть сообщения, и другие 3 изображения идут хорошо.

Я прекращаю процесс, чтобы увидеть некоторые подробности о контейнере с ctrl c и docker ps -a.

clientguo@VM-16-12-ubuntu:~/iotalearn/one-command-tangle$ docker ps -a
IMAGE                                  COMMAND                  CREATED             STATUS                        PORTS               NAMES
b459bc2e8312        one-command-tangle_tools_api           "node ./dist/index"      50 minutes ago      Exited (0) 16 minutes ago                         one-command-tangle_tools_api_1
0b9c2300e881        iotacafe/compass:coordinator-8306ac7   "/usr/bin/java -jar …"   25 hours ago        Exited (143) 16 minutes ago                       one-command-tangle_compass_1
4408f3ba03b4        iotaledger/iri:latest                  "/entrypoint.sh --te…"   44 hours ago        Exited (143) 16 minutes ago                       one-command-tangle_iri_1
651efbf2d5da        one-command-tangle_tools_client        "./node_modules/.bin…"   4 days ago          Exited (137) 16 minutes ago                       one-command-tangle_tools_client_1

Предупреждение в верхних 3 строках показывает, что он использует некоторые API, устаревшие до моей версии Node.
устаревший API

, затем я проверяю Dockerfile, чтобы найти какая версия у меня Nodejs.

FROM node:10.13.0-alpine
RUN apk --no-cache add git python make g++

# Working DIR
WORKDIR /usr/src/app

# Set the env variables
#ARG CONFIG_ID
#ARG GITHUB_TOKEN
#RUN echo "CONFIG_ID=$CONFIG_ID"
#RUN echo "GITHUB_TOKEN=$GITHUB_TOKEN"
#ENV REACT_APP_CONFIG_ID=$CONFIG_ID

# We are npm installing from private repos so we need github token with access
# RUN git config --global url."https://${GITHUB_TOKEN}:@github.com/".insteadOf "https://github.com/"

RUN git clone https://github.com/iotaledger/tangle-utils-website.git .

WORKDIR /usr/src/app/api

# Running required steps to prepare the app prod build
RUN npm install
RUN npm run build

# Remove all the node_modules so the docker image doesn't exceeds max size
RUN apk del git python make g++

EXPOSE 4000:4000

CMD ["node", "./dist/index"]

Я думаю, может быть, смена изображений из dockerhub может сработать. Но я не знаю много о разнице node.js изображений, поэтому я понятия не имею о какие изображения мне нужно вытащить.

Я также ищу несколько ответов о Cannot read property 'length' of undefined, и большинству ответов по этой проблеме необходимо отредактировать файлы *. js. Поэтому я попытался попасть в контейнер bash и найдите файл запуска, чтобы проверить, в чем проблема. Но я обнаружил, что не могу войти при выходе из one-command-tangle_tools_api.

Итак, есть идеи? Спасибо!

...