npm ERR!ENOTDIR:不是目录

  • 本文关键字:ERR ENOTDIR npm jenkins npm
  • 更新时间 :
  • 英文 :


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

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 i时引起的。

在我们的例子中,它是由于对一个使用包(@types/serve-static)中的依赖包(@types/mime)进行了更新而引起的。

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

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

"@types/mime": "2.0.3"

相关内容