【问题标题】:NPM Error while generating docker image for medusajs为 medusajs 生成 docker 映像时出现 NPM 错误
【发布时间】:2022-11-10 12:32:58
【问题描述】:

我正在尝试构建一个MedusaJS Docker 映像。

到目前为止它似乎工作,只有从 dockerfile 安装 NPM RUN npm install --loglevel=error 时似乎有问题。 我完全不知道 NPM 并且目前不知道要寻找什么。 dockerfiles 与 repo 保持不变。

错误输出:

 => [backend:test internal] load build definition from Dockerfile                                                                                                                                   0.0s
 => => transferring dockerfile: 32B                                                                                                                                                                 0.0s
 => [admin:test internal] load build definition from Dockerfile                                                                                                                                     0.0s
 => => transferring dockerfile: 32B                                                                                                                                                                 0.0s
 => [storefront:test internal] load build definition from Dockerfile                                                                                                                                0.0s
 => => transferring dockerfile: 32B                                                                                                                                                                 0.0s
 => [backend:test internal] load .dockerignore                                                                                                                                                      0.0s
 => => transferring context: 2B                                                                                                                                                                     0.0s
 => [storefront:test internal] load .dockerignore                                                                                                                                                   0.0s
 => => transferring context: 2B                                                                                                                                                                     0.0s
 => [admin:test internal] load .dockerignore                                                                                                                                                        0.0s
 => => transferring context: 2B                                                                                                                                                                     0.0s
 => [backend:test internal] load metadata for docker.io/library/node:17.1.0                                                                                                                         1.0s
 => [admin:test internal] load metadata for docker.io/library/node:latest                                                                                                                           1.0s
 => [backend:test internal] load build context                                                                                                                                                      0.0s
 => => transferring context: 128B                                                                                                                                                                   0.0s
 => [backend:test 1/9] FROM docker.io/library/node:17.1.0@sha256:22f1866405ad50bb1d141739596ba803aed073d618ab2ae6d5e66aedcf9261b5                                                                   0.0s
 => [storefront:test  1/10] FROM docker.io/library/node:latest@sha256:a0a2fc4435b0c9ae7bec0a69b1279323a4a41c5a005581fbf30d39cd5777db37                                                              0.0s
 => [admin:test internal] load build context                                                                                                                                                        0.0s
 => => transferring context: 67B                                                                                                                                                                    0.0s
 => [storefront:test internal] load build context                                                                                                                                                   0.0s
 => => transferring context: 67B                                                                                                                                                                    0.0s
 => CACHED [backend:test 2/9] WORKDIR /app/medusa                                                                                                                                                   0.0s
 => CACHED [backend:test 3/9] COPY package.json .                                                                                                                                                   0.0s
 => CACHED [backend:test 4/9] RUN apt-get update                                                                                                                                                    0.0s
 => CACHED [backend:test 5/9] RUN apt-get install -y python                                                                                                                                         0.0s
 => CACHED [backend:test 6/9] RUN npm install -g npm@latest                                                                                                                                         0.0s
 => CACHED [backend:test 7/9] RUN npm install -g @medusajs/medusa-cli@latest                                                                                                                        0.0s
 => ERROR [backend:test 8/9] RUN npm install --loglevel=error                                                                                                                                      13.0s
 => CACHED [storefront:test 2/9] WORKDIR /app/storefront                                                                                                                                            0.0s
 => CACHED [storefront:test 3/9] COPY . .                                                                                                                                                           0.0s
 => CACHED [storefront:test 4/9] RUN rm -rf node_modules                                                                                                                                            0.0s
 => CACHED [storefront:test 5/9] RUN apt-get update                                                                                                                                                 0.0s
 => CACHED [storefront:test 6/9] RUN npm install -g npm@latest                                                                                                                                      0.0s
 => CACHED [admin:test  2/10] WORKDIR /app/admin                                                                                                                                                    0.0s
 => CACHED [admin:test  3/10] COPY . .                                                                                                                                                              0.0s
 => CACHED [admin:test  4/10] RUN rm -rf node_modules                                                                                                                                               0.0s
 => CACHED [admin:test  5/10] RUN apt-get update                                                                                                                                                    0.0s
 => CACHED [admin:test  6/10] RUN npm install -g npm@latest                                                                                                                                         0.0s
 => CACHED [admin:test  7/10] RUN npm install sharp                                                                                                                                                 0.0s
 => CANCELED [admin:test  8/10] RUN npm install -g gatsby-cli                                                                                                                                      13.1s
 => CANCELED [storefront:test 7/9] RUN npm install -g gatsby-cli                                                                                                                                   13.2s
------
 > [backend:test 8/9] RUN npm install --loglevel=error:
#0 12.93 npm ERR! code EUNSUPPORTEDPROTOCOL
#0 12.93 npm ERR! Unsupported URL Type "link:": link:docs-util/typedoc-plugins/typedoc-frontmatter-plugin
#0 12.93
#0 12.93 npm ERR! A complete log of this run can be found in:
#0 12.93 npm ERR!     /root/.npm/_logs/2022-08-28T12_36_45_074Z-debug-0.log
------
failed to solve: executor failed running [/bin/sh -c npm install --loglevel=error]: exit code: 1

【问题讨论】:

    标签: node.js docker


    【解决方案1】:

    有点晚了,但写以防其他人遇到同样的问题

    像我一样,您可能已经将package.json 文件复制到/backend 文件夹中,如this comment 中所述,但如果您不这样做,此解决方案仍然适用。

    导致问题的依赖项是typedoc-frontmatter-plugin,如您发布的输出中所示

    要解决此问题,请更改 backend/package.json 的第 45 行(或任何将typedoc-frontmatter-plugin 定义为依赖项的行) 从

    "typedoc-frontmatter-plugin": "link:docs-util/typedoc-plugins/typedoc-frontmatter-plugin"
    

    "typedoc-frontmatter-plugin": "file:./docs-util/typedoc-plugins/typedoc-frontmatter-plugin"
    

    有关此问题的更多详细信息here

    关于从 Docker 运行 Medusa 的一些附加说明:

    • 我必须在RUN npm install --loglevel=error 的末尾添加--force backend/Dockerfile 才能安装所有依赖项
    • 确保develop.sh 脚本(在根目录和backend 文件夹中)都是可执行的,否则 Docker 将无法启动服务

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-10
      • 2021-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      相关资源
      最近更新 更多