当我的react应用程序将GitHub操作作为构建的CI运行时,我遇到了这个问题。
npm ERR!npm ci
只能在您的包。JSON和package-lock。json或npm-shrinkwrap。JSON是同步的。继续之前,请使用npm install
更新您的锁定文件。
我在我的构建脚本中添加了以下步骤:
- name: Update package-lock.json
run: |
cd my-app
rm package-lock.json
npm install
以下是我的完整构建脚本:
name: Deploy to Firebase Hosting on merge
'on':
push:
branches:
- main
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: 'Create env file'
run: |
cd my-app
echo "${{ secrets.ENV_FILE }}" > .env
- name: Update package-lock.json
run: |
cd my-app
rm package-lock.json
npm install
- run: (cd my-app && npm ci)
- run: (cd my-app && npm run build)
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_HELLO_WORLD_12345 }}'
channelId: live
projectId: hello-world-12345
entrypoint: "./my-app"
- name: Send Discord notification on success
if: ${{ success() }}
run: curl -s -X POST "${{ secrets.DISCORD_WEBHOOK }}" -d "content=🚀 Firebase Hosting Merge Successful"
- name: Send Discord notification on failure
if: ${{ failure() }}
run: curl -s -X POST "${{ secrets.DISCORD_WEBHOOK }}" -d "content=🚨 Firebase Hosting Merge Failed"
1条答案
按热度按时间kqqjbcuj1#
我能想出来。这就是我解决上面问题的方法:
当我运行
npm cache clean --force
命令时,我得到了一个关于权限的错误,然后我这样做来解决错误sudo chown -R 501:20 "/Users/me/.npm"
,之后,我:完成这些步骤后,我将更改提交到存储库中,并推送它们以触发GitHub Actions工作流,从而解决了错误。