lerna bootstrap命令不安装本地纱线包

时间:2019-06-27 11:08:04

标签: docker lerna

我正在尝试在docker容器中安装本地npm软件包(使用yarn工作区),但似乎未在安装本地软件包。尽管它确实成功安装了全局软件包。

此外,当我猛扑到容器中并运行“ lerna bootstrap”时,这将成功安装我的本地软件包。我一直在互联网上搜索为什么会这样。

我的docker文件的内容看起来像

FROM node:12.4.0-alpine

RUN apk add --no-cache bash
RUN apk add --no-cache yarn
WORKDIR "/app"


RUN yarn global add lerna
COPY . .
RUN yarn install
RUN lerna bootstrap


CMD ["npm", "run", "dev"]

我的根package.json文件看起来像

{
  "name": "my-test",
  "version": "1.0.0",
  "description": "Test",
  "main": "app.js",
  "private": true,
  "workspaces": [
    "packages/**"
  ],
  "scripts": {
    "start": "node app.js",
    "dev": "nodemon -L app.js"
  },
  "author": "Phantom",
  "license": "ISC",
  "dependencies": {
    "config": "3.0.1",
    "dotenv": "7.0.0",
    "express": "4.16.4",
    "node-locale": "2.0.0",
  },
  "devDependencies": {
    "lerna": "^3.15.0",
    "@lerna/bootstrap": "3.8.5",
    "nodemon": "1.18.10",
  }
}

我的lerna.json文件看起来像

{
  "version": "1.0.0",
  "npmClient": "yarn",
  "useWorkspaces": true,
  "packages": ["packages/*"]
}

作为一种解决方法,一旦容器启动,我将运行以下docker命令。

docker exec -w /app <my-container-name> lerna bootstrap

我知道这不是一个合适的解决方案,所以有人可以帮我吗?

0 个答案:

没有答案