Команда lerna bootstrap не устанавливает локальные пакеты пряжи - PullRequest
1 голос
/ 27 июня 2019

Я пытаюсь установить свои локальные пакеты npm (используя рабочие области пряжи) в мой докер-контейнер, но кажется, что он не устанавливает локальные пакеты.Хотя он успешно устанавливает глобальные пакеты.

Кроме того, когда я захожу в контейнер и запускаю «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

Я знаю, что это невернорешение, так может кто-нибудь, пожалуйста, помогите мне?

...