当我尝试打开我得到的文件时,
events.js:72
throw er; // Unhandled 'error' event
Error: EISDIR, read
答案 0 :(得分:76)
这个错误很简单,
cd /tmp
mkdir dir
node -e "var fs = require('fs'); fs.createReadStream( 'dir' );"
EISDIR 表示操作的目标实际上是一个目录,但目标的预期文件类型是其他而不是目录。
答案 1 :(得分:4)
刚刚遇到此错误,在我的情况下,它是因为之前使用bower link
链接到本地源,然后在目录中创建符号链接。
一旦我bower unlink
编辑了所有组件,它就会按预期再次运行。
希望这可能有助于某人。
答案 2 :(得分:3)
EISDIR
错误,但给出的路径是目录。
您可以通过检查是否是目录来解决此问题 -
if (fs.lstatSync(filePath).isDirectory()) {
return;
}
有关详情,请参阅文档here。
答案 3 :(得分:0)
通过运行类似的命令,您可能会幸运地检查到此类错误代码:
grep EISDIR -r /usr/include
执行此操作时,我得到一行内容:
/usr/include/uv.h: XX(EISDIR, "illegal operation on a directory")