【发布时间】:2018-09-16 13:32:57
【问题描述】:
我正在开发在 docker 容器中运行的 React 应用程序。 当我通过
向项目添加新库时docker-compose run app yarn add raven-js
然后重新启动容器
docker-compose up
我收到以下错误
Starting app ... done
Attaching to app
app | yarn run v1.3.2
app | $ node scripts/start.js
app | Starting the development server...
app |
app | Failed to compile.
app |
app | ./src/index.js
app | Module not found: Can't resolve 'raven-js' in '/usr/src/app/src'
检查 package.json 内部:
...
"raf": "3.4.0",
"raven-js": "^3.24.0",
"react": "^16.2.0",
...
但在 docker 容器 raven-js 文件夹内的 node_modules 内不存在。
index.js:
import React from 'react';
import ReactDOM from 'react-dom';
import Raven from 'raven-js';
import './index.scss';
import App from './App';
import registerServiceWorker from './registerServiceWorker';
...
Dockerfile:
# Configuration for DEVELOPMENT
# base image
FROM node:9.6.1
# set working directory
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
# add `/usr/src/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH
# install and cache app dependencies
COPY yarn.lock /usr/src/app/yarn.lock
COPY package.json /usr/src/app/package.json
RUN yarn
RUN yarn add global react-scripts@1.1.1
COPY . .
EXPOSE 3000
# start app
CMD ["yarn", "start"]
码头工人撰写:
version: '3.5'
services:
app:
container_name: app
build:
context: .
dockerfile: Dockerfile
volumes:
- '.:/usr/src/app'
- '/usr/src/app/node_modules'
ports:
- '3000:3000'
environment:
- NODE_ENV=development
我删除了 yarn.lock 并再次安装了所有包
docker-compose run app yarn 但这无济于事。
有什么解决方法的建议吗?
【问题讨论】: