【问题标题】:npm ERR! ENOTDIR: not a directorynpm 错误! ENOTDIR:不是目录
【发布时间】:2022-08-02 21:47:24
【问题描述】:

当我们在 Jenkins 服务器上运行构建时,这个错误突然出现了。我们没有改变任何东西。

npm ERR! Linux 3.10.0-957.5.1.el7.x86_64
npm ERR! argv \"/usr/bin/node\" \"/bin/npm\" \"install\"
npm ERR! node v10.15.3
npm ERR! npm  v3.10.10
npm ERR! path /var/lib/jenkins/workspace/node_modules/.staging/@types/datatables.net-2acd857c/package.json
npm ERR! code ENOTDIR
npm ERR! errno -20
npm ERR! syscall open

    标签: jenkins npm


    【解决方案1】:

    我们在 Jenkins 构建中突然遇到了同样的错误。我们发现这是在特定模块上运行 npm i 时引起的。

    在我们的例子中,这是因为在一个使用的包 (@types/serve-static) 中对依赖包 (@types/mime) 进行了更新。

    因为该项目是一个遗留项目,我们无法更新任何包,所以为了解决这个问题,我们不得不阻止主包(@types/serve-static) 获取最新版本的依赖项("@types/mime" "*")。

    这样做的方法是在 package.json 文件中声明特定版本的包,而不是让包自己安装依赖项

        "@types/mime": "2.0.3"
    

    【讨论】:

      猜你喜欢
      • 2016-10-05
      • 2021-12-19
      • 2022-01-10
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-25
      相关资源
      最近更新 更多