【问题标题】:DOCKER: npm ERR! missing script: start码头工人:npm 错误!缺少脚本:开始
【发布时间】:2020-10-28 19:39:46
【问题描述】:

每次我在终端输入docker-compose up 时都会收到此错误:

blogapp | npm ERR! missing script: start
blogapp | 
blogapp | npm ERR! A complete log of this run can be found in:
blogapp | npm ERR!     /root/.npm/_logs/2020-10-28T08_54_29_180Z-debug.log
blogapp exited with code 1

我在退出应用程序之前多次收到它。 这是我的 package.json:

    "name": "blogapp",
    "version": "1.0.0",
    "description": "blog app",
    "main": "app.js",
    "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "start": "node app.js"
    },
    "author": "me",
    "license": "ISC",
    "dependencies": {
        "@material/button": "^7.0.0",
        "ejs": "^3.1.5",
        "express": "^4.17.1",
        "mongoose": "^5.10.9",
        "morgan": "^1.10.0"
    }
}

请帮助我找到这个问题的根源。 如果您需要我分享任何其他文件或信息,请告诉我。

--x--

编辑:

Dockerfile:

FROM node:latest

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

EXPOSE 3000

CMD ["npm", "start"]

和 docker-compose.yml:

version: '3'
services:
    app:
        container_name: blogapp
        restart: always
        build: .
        ports:
            - '80:3000'
        links:
            - mongo
    mongo:
        container_name: mongoDB
        image: mongo
        ports:
            - '27017:27017'

另外,我不知道如何访问我的调试日志(第一次),所以也请帮助我。

【问题讨论】:

  • 你能分享 docker-compose.yml 或 Dockerfile 吗? (取决于您定义启动容器的命令的位置)
  • 好像找不到 package.json 文件。确保它是在对应的 Dockerfile 中使用 COPY 命令复制的,或者它安装在 docker-compose.yaml 文件中的正确路径上。
  • @ErikMüller 如果是这样的话,他会发送一个ENOENT 错误。
  • @Stefano 你是对的。我的错。所以它只是找不到 app.js 文件。可能是 blogapp 文件没有正确复制或挂载。
  • 我已经编辑了问题以添加 Dockerfile 以及 docker-container.yml... 你可以看看它们。

标签: node.js docker npm


【解决方案1】:

请确保您设置了正确的启动文件,并确保您没有多个“启动”脚本。如果这没有帮助,请将给定的日志发布到/root/.npm/_logs/2020-10-28T08_54_29_180Z-debug.log

【讨论】:

  • 我认为这应该是评论而不是答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-11
  • 1970-01-01
  • 1970-01-01
  • 2021-04-26
  • 2023-04-07
  • 1970-01-01
  • 2020-12-06
相关资源
最近更新 更多