AWS CodeBuild не работает с рабочими пространствами пряжи - PullRequest
3 голосов
/ 28 апреля 2019

Я использую Yarn Workspaces в своем репозитории, а также использую AWS CodeBuild для сборки своих пакетов. Когда начинается сборка, CodeBuild занимает 60 секунд, чтобы установить все пакеты, и я бы хотел избежать этого времени кеширования папки node_modules.

Когда я добавляю:

cache:
  paths:
    - 'node_modules/**/*'

в мой buildspec файл и включите LOCAL_CUSTOM_CACHE, я получаю эту ошибку:

error Произошла непредвиденная ошибка: «EEXIST: файл уже существует, mkdir '/codebuild/output/src637134264/src/git-codecommit.us-east-2.amazonaws.com/v1/repos/MY_REPOSITORY/node_modules/@ пакеты / конфиги».

Есть ли способ устранить эту ошибку при настройке AWS CodeBuild или Yarn?

Мой файл buildspec:

version: 0.2
phases:
  install:
    commands:
      - npm install -g yarn
      - git config --global credential.helper '!aws codecommit credential-helper $@'
      - git config --global credential.UseHttpPath true
      - yarn
  pre_build:
    commands:
      - git rev-parse HEAD
      - git pull origin master
  build:
    commands:
      - yarn run build
      - yarn run deploy
  post_build:
    commands:
      - echo 'Finished.'
cache:
  paths:
    - 'node_modules/**/*'

Спасибо!

Обновление 1:

Yarn пыталась создать папку /codebuild/output/src637134264/src/git-codecommit.us-east-2.amazonaws.com/v1/repos/MY_REPOSITORY/node_modules/@packages/configs командой - yarn на этапе install. Эта папка является одним из моих пакетов репозитория, называется @packages/config. Когда я запускаю yarn на моем компьютере, Yarn создает папки, связывающие мои пакеты, как описано здесь . Пример того, как моя node_modules структура находится на моем компьютере:

node_modules/
|-- ...
|-- @packages/
|   |-- configs/
|   |-- myPackageA/
|   |-- myPackageB/
|-- ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...