Ошибка сборки Bitbucket Angular npm run

Я пытаюсь настроить конвейер сборки на Bitbucket. Я использую чистый новый проект Angular. Пока это выглядит так

- step:
    name: build frontend
    caches:
      - node
    condition:
      changesets:
        includePaths:
          - "frontend/src/deguvino-portal/**"
    image: node:14.5.0
    script:
      - npm install
      - npm install -g @angular/cli          
      - npm install -g npm@latest
      - npm install -g @angular-devkit/build-angular
      - npm run build --prod --prefix ./frontend/src/deguvino-portal/

И он продолжает терпеть неудачу npm run build команда с ошибкой

An unhandled exception occurred: Cannot find module '@angular-devkit/build-angular/package.json'
Require stack:
- /usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/architect/node/node-modules-architect-host.js
- /usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/architect/node/index.js
- /usr/local/lib/node_modules/@angular/cli/models/architect-command.js
- /usr/local/lib/node_modules/@angular/cli/commands/build-impl.js
- /usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/schematics/tools/export-ref.js
- /usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/schematics/tools/index.js
- /usr/local/lib/node_modules/@angular/cli/utilities/json-schema.js
- /usr/local/lib/node_modules/@angular/cli/models/command-runner.js
- /usr/local/lib/node_modules/@angular/cli/lib/cli/index.js
- /usr/local/lib/node_modules/@angular/cli/lib/init.js
- /usr/local/lib/node_modules/@angular/cli/bin/ng
See "/tmp/ng-nTDaRU/angular-errors.log" for further details.
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! deguvino-portal@0.0.0 build: `ng build`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the deguvino-portal@0.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-07-10T14_51_37_386Z-debug.log

Есть предложения, как это исправить? PS я используюnpm run build и нет ng build потому что мои источники находятся не в корневой папке, а в frontend/src/deguvino-portal/ каталог, и я нашел способ указать каталог для ng build.

1 ответ

All I had to do is to navigate to the root folder with - cd ./frontend/src/deguvino-portal, выполнить установку и сборку, а затем вернуться обратно. Полный сценарий:

       - step:
    name: build frontend
    caches:
      - node
    image: node:14.5.0
    script:        
      - cd ./frontend/src/deguvino-portal
      - npm install
      - npm run build-prod
      - apt-get update
      - apt-get install zip -y
      - cd ./dist/deguvino-portal
      - zip -r PublishOutputUI.zip .
      - pipe: microsoft/azure-web-apps-deploy:1.0.3
        variables:
         AZURE_APP_ID: $AZURE_APP_ID
         AZURE_PASSWORD: $AZURE_PASSWORD
         AZURE_TENANT_ID: $AZURE_TENANT_ID
         AZURE_RESOURCE_GROUP: '****'
         AZURE_APP_NAME: '*****'
         ZIP_FILE: 'PublishOutputUI.zip'
    artifacts: 
      - PublishOutputUI.zip
Другие вопросы по тегам