通过 GitHub 操作 (.yml) 部署的 Azure 静态 Web 应用程序在私有 npm 包上出现 404 错误

Azure Static Web App deploying via GitHub Actions (.yml) errors with 404 on private npm packages

我在 GitHub 中有一个 Angular 应用程序正在通过 GitHub 操作部署到 Azure 静态 Web 应用程序。

添加私有 npm 包时部署失败。

在 GitHub 文档中,我找到了如何通过环境设置为节点脚本指定 npm 令牌,并将其与 Azure 关于自定义工作流文件的文档相结合,这让我尝试了这个(和一个它的一些变体):

  - name: Build And Deploy
    id: builddeploy
    uses: Azure/static-web-apps-deploy@v1
    with:
      azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_RANDOM }}
      repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
      action: "upload"
      ###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
      # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
      app_location: "/" # App source code path
      api_location: "" # Api source code path - optional
      output_location: "dist" # Built app content directory - optional
      ###### End of Repository/Build Configurations ######
    env:
      NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

我读过的带有 NODE_AUTH_TOKEN 的最后一行会生成一个 .npmrc 文件来验证进程。我有一个名为 NPM_TOKEN 的 GitHub 秘密,其中包含我在 npm 中生成的令牌,选择 'for CI purposes' 选项。

但是我在尝试安装私有包时仍然看到 404 错误。

如有任何想法,我们将不胜感激!

在介质上找到这个 post:Install private NPM packages in github actions

按照那里的建议,我在调用 azure 部署操作之前“手动”创建了 .npmrc 文件并解决了它:

      - name: Create .npmrc file
        run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
      - name: Build And Deploy
        id: builddeploy
        uses: Azure/static-web-apps-deploy@v1
        .......