gpt4 book ai didi

reactjs - 支架和create-react-app停止工作

转载 作者:行者123 更新时间:2023-12-02 11:33:57 27 4
gpt4 key购买 nike

几个月都工作良好,两天前退出工作。不要忘记更改.yamls中的任何内容。

基本上,当我启动create-react-app时,create-react-app客户端只是启动,失败并重新启动。

我试过了:

  • 在工作时恢复到先前的提交
  • 降级/升级skaffold
  • 降级/升级minikube
  • 降级/升级kubectl
  • 测试Ubuntu 19.10,macOS 10.15.3和Windows 10(WSL2),问题在所有
  • 中仍然存在
    skaffoldcreate-react-app似乎是一个问题,因为以下情况仍然可以正常使用:
  • apipostgres pods 仍然可以启动并运行得很好
  • 以下对我而言正常工作,这表明它不是create-react-app问题:
  • cd client
    npm install
    npm start
  • 以下内容也正常工作,对我来说,这不是docker问题:
  • cd client
    docker build -f Dockerfile.dev .
    docker run -it -p 3000:3000 <image_id>
  • 我认为这不是Kubernetes的问题。我推送到我的暂存分支,触发了暂存CI / CD管道,通过了构建和部署,它在我的暂存URL上正常运行。

  • 这是我的配置:
    # client.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: client-deployment-dev
    spec:
    replicas: 1
    selector:
    matchLabels:
    component: client
    template:
    metadata:
    labels:
    component: client
    spec:
    containers:
    - name: client
    image: client
    ports:
    - containerPort: 3000
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: client-cluster-ip-service-dev
    spec:
    type: ClusterIP
    selector:
    component: client
    ports:
    - port: 3000
    targetPort: 3000
    #skaffold.yaml

    apiVersion: skaffold/v1beta15
    kind: Config
    build:
    local:
    push: false
    artifacts:
    - image: client
    context: client
    docker:
    dockerfile: Dockerfile.dev
    sync:
    manual:
    - src: "***/*.js"
    dest: .
    - src: "***/*.jsx"
    dest: .
    - src: "***/*.json"
    dest: .
    - src: "***/*.html"
    dest: .
    - src: "***/*.css"
    dest: .
    - src: "***/*.scss"
    dest: .
    deploy:
    kubectl:
    manifests:
    - manifests/dev/client.yaml
    # Dockerfile.dev

    FROM node:13-alpine
    WORKDIR /app
    COPY ./package.json ./
    RUN npm install
    COPY . .
    CMD ["npm", "start"]
    -v DEBUG日志:
     $ skaffold dev -v DEBUG
    INFO[0000] starting gRPC server on port 50051
    INFO[0000] starting gRPC HTTP server on port 50052
    INFO[0000] Skaffold &{Version:v1.6.0-docs ConfigVersion:skaffold/v2beta1 GitVersion: GitCommit:b74e2f94f628b16a866abddc2ba8f05ce0bf956c GitTreeState:clean BuildDate:2020-03-25T00:09:12Z GoVersion:go1.14 Compiler:gc Platform:linux/amd64}
    DEBU[0000] config version (skaffold/v1beta15) out of date: upgrading to latest (skaffold/v2beta1)
    DEBU[0000] validating yamltags of struct SkaffoldConfig
    DEBU[0000] validating yamltags of struct Metadata
    DEBU[0000] validating yamltags of struct Pipeline
    DEBU[0000] validating yamltags of struct BuildConfig
    DEBU[0000] validating yamltags of struct Artifact
    DEBU[0000] validating yamltags of struct Sync
    DEBU[0000] validating yamltags of struct SyncRule
    DEBU[0000] validating yamltags of struct SyncRule
    DEBU[0000] validating yamltags of struct SyncRule
    DEBU[0000] validating yamltags of struct SyncRule
    DEBU[0000] validating yamltags of struct SyncRule
    DEBU[0000] validating yamltags of struct SyncRule
    DEBU[0000] validating yamltags of struct ArtifactType
    DEBU[0000] validating yamltags of struct DockerArtifact
    DEBU[0000] validating yamltags of struct TagPolicy
    DEBU[0000] validating yamltags of struct GitTagger
    DEBU[0000] validating yamltags of struct BuildType
    DEBU[0000] validating yamltags of struct LocalBuild
    DEBU[0000] validating yamltags of struct DeployConfig
    DEBU[0000] validating yamltags of struct DeployType
    DEBU[0000] validating yamltags of struct KubectlDeploy
    DEBU[0000] validating yamltags of struct KubectlFlags
    INFO[0000] Using kubectl context: minikube
    DEBU[0000] Using builder: local
    DEBU[0000] Running command: [minikube docker-env --shell none]
    DEBU[0000] Command output: [DOCKER_TLS_VERIFY=1
    DOCKER_HOST=tcp://192.168.39.184:2376
    DOCKER_CERT_PATH=/home/eoxdev/.minikube/certs
    MINIKUBE_ACTIVE_DOCKERD=minikube
    ]
    DEBU[0000] setting Docker user agent to skaffold-v1.6.0-docs
    Listing files to watch...
    - client
    DEBU[0000] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]
    DEBU[0000] Skipping excluded path: node_modules
    INFO[0000] List generated in 1.684217ms
    Generating tags...
    - client -> DEBU[0000] Running command: [git describe --tags --always]
    DEBU[0000] Command output: [3403aa6
    ]
    DEBU[0000] Running command: [git status . --porcelain]
    DEBU[0000] Command output: []
    client:3403aa6
    INFO[0000] Tags generated in 3.085635ms
    Checking cache...
    DEBU[0000] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]
    DEBU[0000] Skipping excluded path: node_modules
    - client: Found Locally
    INFO[0000] Cache check complete in 6.098469ms
    Tags used in deployment:
    - client -> client:1319b715976becb303bd077717e754e52beaef72d44c7b09f5b6835b1afacae2
    local images can't be referenced by digest. They are tagged and referenced by a unique ID instead
    Starting deploy...
    DEBU[0000] Running command: [kubectl version --client -ojson]
    DEBU[0000] Command output: [{
    "clientVersion": {
    "major": "1",
    "minor": "18",
    "gitVersion": "v1.18.0",
    "gitCommit": "9e991415386e4cf155a24b1da15becaa390438d8",
    "gitTreeState": "clean",
    "buildDate": "2020-03-25T14:58:59Z",
    "goVersion": "go1.13.8",
    "compiler": "gc",
    "platform": "linux/amd64"
    }
    }
    ]
    DEBU[0000] Running command: [kubectl --context minikube create --dry-run -oyaml -f /home/eoxdev/Projects/issues/skaffold-cra-error/manifests/dev/client.yaml]
    DEBU[0000] Command output: [apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: client-deployment-dev
    namespace: default
    spec:
    replicas: 1
    selector:
    matchLabels:
    component: client
    template:
    metadata:
    labels:
    component: client
    spec:
    containers:
    - image: client
    name: client
    ports:
    - containerPort: 3000
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: client-cluster-ip-service-dev
    namespace: default
    spec:
    ports:
    - port: 3000
    targetPort: 3000
    selector:
    component: client
    type: ClusterIP
    ], stderr: W0327 08:49:50.543847 16516 helpers.go:535] --dry-run is deprecated and can be replaced with --dry-run=client.
    DEBU[0000] manifests with tagged images: apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: client-deployment-dev
    namespace: default
    spec:
    replicas: 1
    selector:
    matchLabels:
    component: client
    template:
    metadata:
    labels:
    component: client
    spec:
    containers:
    - image: client:1319b715976becb303bd077717e754e52beaef72d44c7b09f5b6835b1afacae2
    name: client
    ports:
    - containerPort: 3000
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: client-cluster-ip-service-dev
    namespace: default
    spec:
    ports:
    - port: 3000
    targetPort: 3000
    selector:
    component: client
    type: ClusterIP
    DEBU[0000] manifests with labels apiVersion: apps/v1
    kind: Deployment
    metadata:
    labels:
    app.kubernetes.io/managed-by: skaffold-v1.6.0-docs
    skaffold.dev/builder: local
    skaffold.dev/cleanup: "true"
    skaffold.dev/deployer: kubectl
    skaffold.dev/docker-api-version: "1.40"
    skaffold.dev/run-id: 2ee04f07-3f07-4e75-bdba-dfac76d18bf0
    skaffold.dev/tag-policy: git-commit
    skaffold.dev/tail: "true"
    name: client-deployment-dev
    namespace: default
    spec:
    replicas: 1
    selector:
    matchLabels:
    component: client
    template:
    metadata:
    labels:
    app.kubernetes.io/managed-by: skaffold-v1.6.0-docs
    component: client
    skaffold.dev/builder: local
    skaffold.dev/cleanup: "true"
    skaffold.dev/deployer: kubectl
    skaffold.dev/docker-api-version: "1.40"
    skaffold.dev/run-id: 2ee04f07-3f07-4e75-bdba-dfac76d18bf0
    skaffold.dev/tag-policy: git-commit
    skaffold.dev/tail: "true"
    spec:
    containers:
    - image: client:1319b715976becb303bd077717e754e52beaef72d44c7b09f5b6835b1afacae2
    name: client
    ports:
    - containerPort: 3000
    ---
    apiVersion: v1
    kind: Service
    metadata:
    labels:
    app.kubernetes.io/managed-by: skaffold-v1.6.0-docs
    skaffold.dev/builder: local
    skaffold.dev/cleanup: "true"
    skaffold.dev/deployer: kubectl
    skaffold.dev/docker-api-version: "1.40"
    skaffold.dev/run-id: 2ee04f07-3f07-4e75-bdba-dfac76d18bf0
    skaffold.dev/tag-policy: git-commit
    skaffold.dev/tail: "true"
    name: client-cluster-ip-service-dev
    namespace: default
    spec:
    ports:
    - port: 3000
    targetPort: 3000
    selector:
    component: client
    type: ClusterIP
    DEBU[0000] 2 manifests to deploy. 2 are updated or new
    DEBU[0000] Running command: [kubectl --context minikube apply -f - --force --grace-period=0]
    - deployment.apps/client-deployment-dev created
    - service/client-cluster-ip-service-dev created
    INFO[0000] Deploy complete in 391.276171ms
    Waiting for deployments to stabilize
    DEBU[0000] getting client config for kubeContext: ``
    DEBU[0000] checking status default:deployment/client-deployment-dev
    DEBU[0000] Running command: [kubectl --context minikube rollout status deployment client-deployment-dev --namespace default --watch=false]
    DEBU[0000] Command output: [Waiting for deployment "client-deployment-dev" rollout to finish: 0 of 1 updated replicas are available...
    ]
    DEBU[0001] Running command: [kubectl --context minikube rollout status deployment client-deployment-dev --namespace default --watch=false]
    - default:deployment/client-deployment-dev Waiting for deployment "client-deployment-dev" rollout to finish: 0 of 1 updated replicas are available...
    DEBU[0001] Command output: [Waiting for deployment "client-deployment-dev" rollout to finish: 0 of 1 updated replicas are available...
    ]
    DEBU[0001] Running command: [kubectl --context minikube rollout status deployment client-deployment-dev --namespace default --watch=false]
    DEBU[0001] Command output: [Waiting for deployment "client-deployment-dev" rollout to finish: 0 of 1 updated replicas are available...
    ]
    DEBU[0001] Running command: [kubectl --context minikube rollout status deployment client-deployment-dev --namespace default --watch=false]
    DEBU[0001] Command output: [Waiting for deployment "client-deployment-dev" rollout to finish: 0 of 1 updated replicas are available...
    ]
    DEBU[0001] Running command: [kubectl --context minikube rollout status deployment client-deployment-dev --namespace default --watch=false]
    DEBU[0001] Command output: [Waiting for deployment "client-deployment-dev" rollout to finish: 0 of 1 updated replicas are available...
    ]
    DEBU[0002] Running command: [kubectl --context minikube rollout status deployment client-deployment-dev --namespace default --watch=false]
    DEBU[0002] Command output: [Waiting for deployment "client-deployment-dev" rollout to finish: 0 of 1 updated replicas are available...
    ]
    DEBU[0002] Running command: [kubectl --context minikube rollout status deployment client-deployment-dev --namespace default --watch=false]
    DEBU[0002] Command output: [deployment "client-deployment-dev" successfully rolled out
    ]
    - default:deployment/client-deployment-dev is ready.
    Deployments stabilized in 1.818029816s
    DEBU[0002] getting client config for kubeContext: ``
    INFO[0002] Streaming logs from pod: client-deployment-dev-58bdbf5664-fcc7k container: client
    DEBU[0002] Running command: [kubectl --context minikube logs --since=3s -f client-deployment-dev-58bdbf5664-fcc7k -c client --namespace default]
    [client-deployment-dev-58bdbf5664-fcc7k client]
    [client-deployment-dev-58bdbf5664-fcc7k client] > client@0.1.0 start /app
    [client-deployment-dev-58bdbf5664-fcc7k client] > react-scripts start
    [client-deployment-dev-58bdbf5664-fcc7k client]
    DEBU[0002] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]
    DEBU[0002] Change detected <nil>
    DEBU[0002] Skipping excluded path: node_modules
    Watching for changes...
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: Project is running at http://172.17.0.8/
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: webpack output is served from
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: Content not from webpack is served from /app/public
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: 404s will fallback to /
    [client-deployment-dev-58bdbf5664-fcc7k client] Starting the development server...
    [client-deployment-dev-58bdbf5664-fcc7k client]
    DEBU[0003] Found dependencies for dockerfile: [{package.json /app true} {. /app true}]
    DEBU[0003] Skipping excluded path: node_modules
    INFO[0004] Streaming logs from pod: client-deployment-dev-58bdbf5664-fcc7k container: client
    DEBU[0004] Running command: [kubectl --context minikube logs --since=4s -f client-deployment-dev-58bdbf5664-fcc7k -c client --namespace default]
    [client-deployment-dev-58bdbf5664-fcc7k client]
    [client-deployment-dev-58bdbf5664-fcc7k client] > client@0.1.0 start /app
    [client-deployment-dev-58bdbf5664-fcc7k client] > react-scripts start
    [client-deployment-dev-58bdbf5664-fcc7k client]
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: Project is running at http://172.17.0.8/
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: webpack output is served from
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: Content not from webpack is served from /app/public
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: 404s will fallback to /
    [client-deployment-dev-58bdbf5664-fcc7k client] Starting the development server...
    [client-deployment-dev-58bdbf5664-fcc7k client]
    INFO[0019] Streaming logs from pod: client-deployment-dev-58bdbf5664-fcc7k container: client
    DEBU[0019] Running command: [kubectl --context minikube logs --since=20s -f client-deployment-dev-58bdbf5664-fcc7k -c client --namespace default]
    [client-deployment-dev-58bdbf5664-fcc7k client]
    [client-deployment-dev-58bdbf5664-fcc7k client] > client@0.1.0 start /app
    [client-deployment-dev-58bdbf5664-fcc7k client] > react-scripts start
    [client-deployment-dev-58bdbf5664-fcc7k client]
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: Project is running at http://172.17.0.8/
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: webpack output is served from
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: Content not from webpack is served from /app/public
    [client-deployment-dev-58bdbf5664-fcc7k client] ℹ 「wds」: 404s will fallback to /
    [client-deployment-dev-58bdbf5664-fcc7k client] Starting the development server...
    [client-deployment-dev-58bdbf5664-fcc7k client]
    ^CCleaning up...
    DEBU[0021] Running command: [kubectl --context minikube create --dry-run -oyaml -f /home/eoxdev/Projects/issues/skaffold-cra-error/manifests/dev/client.yaml]
    DEBU[0021] Command output: [apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: client-deployment-dev
    namespace: default
    spec:
    replicas: 1
    selector:
    matchLabels:
    component: client
    template:
    metadata:
    labels:
    component: client
    spec:
    containers:
    - image: client
    name: client
    ports:
    - containerPort: 3000
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: client-cluster-ip-service-dev
    namespace: default
    spec:
    ports:
    - port: 3000
    targetPort: 3000
    selector:
    component: client
    type: ClusterIP
    ], stderr: W0327 08:50:11.709935 16770 helpers.go:535] --dry-run is deprecated and can be replaced with --dry-run=client.
    DEBU[0021] Running command: [kubectl --context minikube delete --ignore-not-found=true -f -]
    - deployment.apps "client-deployment-dev" deleted
    - service "client-cluster-ip-service-dev" deleted
    INFO[0021] Cleanup complete in 187.851194ms

    我在这里有一个测试仓库,您可以尝试以下操作:

    https://github.com/eox-dev/skaffold-cra-error

    希望这只是我所忽略的事情,但是就像我说过的那样,我已经将应用程序还原到知道它可以正常工作的状态,但问题仍然存在。

    编辑4/1
    当我在 v1.6.0-docs发行说明中阅读此内容时,我很希望:

    Note: This release comes with a new config version v2beta1. To upgrade your skaffold.yaml, use skaffold fix. If you choose not to upgrade, skaffold will auto-upgrade as best as it can.



    但是,仍然存在相同的问题。

    最佳答案

    这是由于facebook/create-react-app(特别是#8739#8688)发生了变化。您会注意到,如果在不分配TTY的情况下运行,则容器会立即从docker退出:

    $ docker run --rm client; echo ">> $?"

    > client@0.1.0 start /app
    > react-scripts start

    ℹ 「wds」: Project is running at http://172.17.0.4/
    ℹ 「wds」: webpack output is served from
    ℹ 「wds」: Content not from webpack is served from /app/public
    ℹ 「wds」: 404s will fallback to /
    Starting the development server...

    >> 0

    有一个解决问题的方法,可以在Dockerfile中设置 CI=true:
    --- client/Dockerfile.dev
    +++ client/Dockerfile.dev
    @@ -1,6 +1,7 @@
    FROM node:13-alpine
    WORKDIR /app
    COPY ./package.json ./
    +ENV CI=true
    RUN npm install
    COPY . .

    关于reactjs - 支架和create-react-app停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60889553/

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