You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基础Angular应用在Azure构建管道中npm install命令执行失败

问题原因与解决方法

问题根源

你在Npm@1任务的workingDir字段里填了package.json,但这个参数要求的是存放package.json的目录路径,不是文件本身。npm会尝试在你指定的路径下去找.npmrc文件,结果变成了package.json/.npmrc,这显然不是合法目录,因此抛出ENOTDIR错误。

修复方案

把两个Npm任务里的workingDir值改成package.json所在的目录(如果package.json在仓库根目录,直接填.或者留空):

修改后的YAML代码:

trigger:
  branches:
    include:
    - refs/heads/master
jobs:
- job: Job_1
  displayName: Agent job 1
  pool:
    vmImage: ubuntu-latest
  steps:
  - checkout: self
    fetchDepth: 1
  - task: Npm@1
    displayName: npm install
    inputs:
      workingDir: .
      verbose: false
  - task: Npm@1
    displayName: npm custom
    inputs:
      command: custom
      workingDir: .
      verbose: false
      customCommand: npm run build
  - task: ArchiveFiles@2
    displayName: Archive $(Build.BinariesDirectory)
  - task: PublishBuildArtifacts@1
    displayName: 'Publish Artifact: drop'

补充说明

如果你的package.json不在根目录(比如在src文件夹下),就填对应目录路径作为workingDir的值,务必保证这个路径是目录而非具体文件。

内容的提问来源于stack exchange,提问作者anon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 04:32:34