Как исправить: TypeError [ERR_FEATURE_UNAVAILABLE_ON_PLATFORM]: при использовании ts-node-dev в стартовом скрипте

Я пишу приложение node.js, используя экспресс, докер и Kubernetes. node -v - это v12.16.3 Docker версии 19.03.1, сборка 74b1e89e8a Kubernetes с использованием minikube

Я создал одну службу с именем auth, и когда я попытался развернуть ее с помощью команды skaffold dev, я получил ошибку ниже

[91m[auth-depl-56db74bf85-b2kst auth] ←[0m
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0mUsing ts-node version 8.10.2, typescript version 3.9.5
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0mTypeError [ERR_FEATURE_UNAVAILABLE_ON_PLATFORM]: The feature watch recursively is unavailable on the current platform, which is being used to run Node.js
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0m    at Object.watch (fs.js:1441:11)
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0m    at add (/app/node_modules/filewatcher/index.js:74:34)
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0m    at /app/node_modules/filewatcher/index.js:93:5
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0m    at FSReqCallback.oncomplete (fs.js:176:5)
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0mnpm ERR! code ELIFECYCLE
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0mnpm ERR! errno 1
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0mnpm ERR! [email protected] start: `ts-node-dev src/index.ts --poll`
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0mnpm ERR! Exit status 1
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0mnpm ERR!
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0mnpm ERR! Failed at the [email protected] start script.
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0mnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0m
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0mnpm ERR! A complete log of this run can be found in:
←[91m[auth-depl-56db74bf85-b2kst auth] ←[0mnpm ERR!     /root/.npm/_logs/2020-06-05T09_25_50_079Z-debug.log

Bwlow - это файл package.json

{
  "name": "auth",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "ts-node-dev src/index.ts --poll"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@types/express": "^4.17.6",
    "express": "^4.17.1",
    "nodemon": "^2.0.4",
    "typescript": "^3.9.5"
  },
  "devDependencies": {
    "ts-node-dev": "^1.0.0-pre.44"
  }
}

Файл Docker

FROM node:lts-alpine

WORKDIR /app
COPY package.json .
RUN npm install
COPY . .

CMD ["npm", "start"]

Ниже находится skaffold.yaml

apiVersion: skaffold/v2alpha3
kind: config
deploy:
  kubectl:
    manifests:
      - ./infra/k8s/*
build:
  local:
    push: false
  artifacts:
    - image: xxxxxx/auth
      context: auth
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: 'src/**/*.ts'
            dest: .

person Aadil Nabi    schedule 05.06.2020    source источник
comment
Кстати, я использую Windows 7 Enterprise   -  person Aadil Nabi    schedule 05.06.2020
comment
Это может быть связано с тем, что github.com/whitecolor/ts-node-dev/issues/ 143 - можете ли вы проверить, решает ли это переход на узел v13?   -  person Balint Pato    schedule 05.06.2020
comment
@BalintPato Спасибо за ваш ответ. Я исправил это, отредактировав файл package.json, отредактировав скрипты как start: ts-node-dev src / index.ts --poll   -  person Aadil Nabi    schedule 06.06.2020


Ответы (1)


Решение: измените package.json со значением "start": "ts-node-dev src / index.ts --poll" и используйте node: lte-alpine в файле Dockerfile.

person Aadil Nabi    schedule 06.06.2020