【问题标题】:Installing fresh react app with dockerfile使用 dockerfile 安装新的 react 应用程序
【发布时间】:2020-06-02 12:12:41
【问题描述】:

我正在尝试使用 Dockerfile 运行全新安装的 React。

FROM node:12.14-alpine

RUN mkdir /app
WORKDIR /app

RUN npm install -g nodemon \
    npx create-react-app .

COPY package.json package.json
RUN npm install --silent

COPY . .

CMD [ "node", "start" ]

我的根文件夹是空的,所以不存在 package.json 文件等。当我运行 docker-compose up --build 时,我收到以下错误,表明 npx create-react-app . 失败

Step 5/9 : RUN npm install -g nodemon     npx create-react-app .
 ---> Running in c4878af5f94d
npm ERR! code ENOLOCAL
npm ERR! Could not install from "" as it does not contain a package.json file.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-02-18T12_55_14_899Z-debug.log
ERROR: Service 'react' failed to build: The command '/bin/sh -c npm install -g nodemon     npx create-react-app .' returned a non-zero code: 1

任何想法我做错了什么?我没有本地安装节点或 npm,所以所有都需要通过 docker 运行

【问题讨论】:

  • 我建议首先构建你的应用程序——使用本地节点——然后才使用 Docker。运行 create-react-app 并创建一个新的空应用程序作为打包在映像中的单个东西似乎没有那么有用。
  • @DavidMaze 这不可能使用 docker 完成吗?我希望我的本地操作系统干净
  • 或者是否有其他安装 react 的方法?

标签: node.js reactjs docker npm


【解决方案1】:

您需要删除 .在 RUN 结束时:

RUN npm install -g nodemon \
    npx \
    create-react-app

【讨论】:

  • 我尝试了您的代码,但这仍然会引发错误ERROR: Service 'react' failed to build: The command '/bin/sh -c npm install -g nodemon npx create-react-app' returned a non-zero code: 239 另外,当您运行create-react-app 时,这不是要为我创建一个 package.json 文件吗?
  • 我在 npm 命令中添加 --force 时传递了这个错误:npm install --force -g ...
【解决方案2】:

你忘记了第 7 行的“&&”

FROM node:12.14-alpine

RUN mkdir /app
WORKDIR /app

RUN npm install -g nodemon \
    && npx create-react-app .

COPY package.json package.json
RUN npm install --silent

...

CMD [ "node", "start" ]

【讨论】:

    猜你喜欢
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 2019-02-10
    相关资源
    最近更新 更多