我喜欢在 Vagrant 虚拟机中进行开发工作以保持干净的环境。
最近将 Node.js 更新到 v18.18.0 后,我突然无法npm
在客户机中运行命令不再:
npm start
:
npm ERR! code ENOTSUP
npm ERR! syscall read
npm ERR! errno -95
npm ERR! Could not read package.json: Error: ENOTSUP: operation not supported on socket, read
npm ERR! A complete log of this run can be found in: /home/vagrant/.npm/_logs/2023-09-20T08_13_54_770Z-debug-0.log
npm install mocha
:
npm WARN tar TAR_ENTRY_ERROR ENOTSUP: operation not supported on socket, write
上述过程无限重复。
任何 Node.js 版本 >= 18.18 和客户操作系统 ubuntu64/jammy 以及 ubuntu64/lunar 都存在此问题。升级 npm 也无法解决此问题。我不知道发生了什么,尤其是因为谷歌搜索该消息没有找到任何有用的信息。
还有其他人遇到这个问题吗?或者知道如何解决吗?
答案1
据观察一些各位,问题似乎与位于共享目录中的代码有关,并且可能与核心 Nodejs ESModule 加载器代码在这种情况下拒绝工作有关。目前的解决方法是将代码移动到非远程存储。