Home > Software design >  GitHub action failed at npm ci
GitHub action failed at npm ci

Time:01-04

npm ci passes locally, but fails when running as part of GitHub action to build and deploy to Firebase hosting. Project is Angular 13.

The error is: npm ERR! The 'npm ci' command can only install with an existing package-lock.json

enter image description here

This is the yaml config file:

# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools

name: Deploy to Firebase Hosting on merge
'on':
  push:
    branches:
      - main
jobs:
  build_and_deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm ci && npm run build
      - uses: FirebaseExtended/action-hosting-deploy@v0
        with:
          repoToken: '${{ secrets.GITHUB_TOKEN }}'
          firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_MY_WEBSITE }}'
          channelId: live
          projectId: my-website

CodePudding user response:

You could follow "Super fast npm install on Github Actions Super fast npm install on Github Actions" by De Voorhoede:

    steps:
      - uses: actions/checkout@v2

      - name: Setup Node.js
        uses: actions/setup-node@v2
        with:
          node-version: '14'

      - name: Cache dependencies
        uses: actions/cache@v2
        with:
          path: ~/.npm
          key: npm-${{ hashFiles('package-lock.json') }}
          restore-keys: npm-

      - name: Install dependencies
        run: cd my-site && npm ci --ignore-scripts
             ^^^^^^^^^^^^

      # run npm test, build, lint, etc.

That way, package-lock.json should be properly generated.

That should work if you are in the right folder, since the OP matchifang adds in the comments:

I found out I was in the wrong directory.

  •  Tags:  
  • Related