【问题标题】:'docker-compose run app yarn add raven-js' does not install package in npm_modules'docker-compose run app yarn add raven-js' 不在 npm_modules 中安装包
【发布时间】: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 但这无济于事。 有什么解决方法的建议吗?

【问题讨论】:

    标签: reactjs docker yarnpkg


    【解决方案1】:

    经过几次试验,我发现以下解决方案, 当 docker 容器运行时,我正在连接到容器并重建项目,如下所示:

    docker exec -it b42 /bin/bash  
    
    yarn
    

    其中 b42 是容器的示例编号

    问题的根源很可能是在 docker 配置中的某个地方,无论如何,当我收到错误消息指出尽管先前安装了某个包但未找到某个包时,上述解决问题的任何时候。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 2020-12-07
      相关资源
      最近更新 更多