【问题标题】:how to fix npm install failed in Docker如何修复 Docker 中的 npm install 失败
【发布时间】:2020-07-28 02:49:19
【问题描述】:

我正在尝试 dockerize 我的小型 reactjs 应用程序。

这是我的Dockerfile

FROM node

WORKDIR /usr/src/app

COPY package.json .

COPY . .

EXPOSE 8080

RUN npm install // gives the error when executing this step
RUN npm install react-scripts@3.4.1 -g --silent

# start app
CMD ["npm", "start"]

这是我的package.json

{
  "name": "cyberhr",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "3d-force-graph": "^1.60.11",
    "@tensorflow/tfjs": "^1.7.2",
    "@tensorflow/tfjs-tsne": "^0.2.0",
    "d3-dsv": "^1.2.0",
    "mdbreact": "4.25.3",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-force-graph": "^1.32.1",
    "react-router-dom": "^5.1.2",
    "react-scripts": "3.4.0",
    "tsne-js": "^1.0.3"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom"
  },
  "devDependencies": {
    "renamer": "^1.0.0",
    "rimraf": "^2.6.2"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}

但它在npm install 步骤失败并给出以下错误

服务“前端”构建失败:命令“/bin/sh -c npm install”返回非零代码:244

这里是详细的错误截图

有人可以帮帮我吗?

【问题讨论】:

  • 不久前我遇到了这个挑战。确保正确安装了 Node。我通过在我的应用程序的根目录中运行sudo npm install --unsafe-perm 解决了我的问题。你也可以试试。
  • 这是Dockerfile。我正在使用最新的node 图像。我会检查并告诉你。谢谢
  • 能否将图片替换为错误信息的实际文本?您引用的错误只是“它不起作用”的错误。了解您是否可以在干净的主机节点环境中安装相同的包也很有帮助。
  • 你有没有想过如何解决这个问题?我没有解决这个问题。
  • 有什么解决办法吗?

标签: node.js docker npm


【解决方案1】:

就我而言,我还必须将 package-lock.json 复制到 Dockerfile 并且它有效。我只需要这样做,尽管在运行 npm install 时给了我漏洞。

试试:

COPY package.json package-lock.json .

【讨论】:

    猜你喜欢
    • 2018-07-04
    • 2020-05-25
    • 2021-05-08
    • 2021-12-26
    • 2017-08-02
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 2016-01-22
    相关资源
    最近更新 更多