Azure DevOps YAML 管道 - Cache@2 无法找到 package-lock.json 文件

问题描述 投票:0回答:1

我当前面临项目设置问题,其中 package-lock.json 文件驻留在项目根目录的子文件夹中,例如 subfolder/package-lock.json。

在我的 YAML 管道中,我正在执行 Cache@2 任务,但它失败了,因为它无法找到我的 package-lock.json 文件,尽管该文件存在。 (我已经通过上一步打印目录中的文件确认了这一点。)

之前,在进行一些重构之前,package-lock.json 文件位于项目根目录中,以下步骤使用默认路径:

parameters:
  - name: npmConfigCache
    type: string
    default: "/home/vsts/.npm"

steps:
  - task: Cache@2
    inputs:
      key: 'npm | "$(Agent.OS)" | package-lock.json'
      restoreKeys: |
        npm | "$(Agent.OS)"
      path: ${{ parameters.npmConfigCache }}
    displayName: Cache npm Packages

这是我如何调用模板:

- template: npm/build-and-test.yml@templates
  parameters:
    npmConfigCache: "$(System.DefaultWorkingDirectory)/Subfolder/"

这是错误:

Error message

有人遇到过类似的问题吗?

我尝试过很多不同的方法

azure azure-pipelines azure-pipelines-yaml
1个回答
0
投票

问题出在以下一行:

inputs:
  key: 'npm | "$(Agent.OS)" | package-lock.json'

需要像下面一样包含子文件夹引用,而不是编辑提供的路径。

inputs:
  key: 'npm | "$(Agent.OS)" | subfolder/package-lock.json'
© www.soinside.com 2019 - 2024. All rights reserved.