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

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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With