【发布时间】:2020-01-04 04:06:47
【问题描述】:
运行节点应用程序以读取目录
fs.readdirSync('/Users/edwardthompson/Dropbox/Apps/EvidentiaSoftware/records/thompson-hayward');
我一直得到
Stack:
error properties: Object({ errno: -2, syscall: 'scandir', code: 'ENOENT', path: '/Users/edwardthompson/Dropbox/Apps/EvidentiaSoftware/records/thompson-hayward' })
Error: ENOENT: no such file or directory, scandir '/Users/edwardthompson/Dropbox/Apps/EvidentiaSoftware/records/thompson-hayward'
但我知道目录在那里
ls -al /Users/edwardthompson/Dropbox/Apps/EvidentiaSoftware/records/thompson-hayward
total 0
drwxr-xr-x@ 9 edwardthompson staff 288 Jan 18 2019 .
drwxr-xr-x@ 6 edwardthompson staff 192 Aug 29 12:30 ..
drwxr-xr-x@ 9 edwardthompson staff 288 Jan 18 2019 Births
drwxr-xr-x@ 4 edwardthompson staff 128 Jan 18 2019 Census
drwxr-xr-x@ 3 edwardthompson staff 96 Jan 18 2019 Deaths
drwxr-xr-x@ 7 edwardthompson staff 224 Jan 18 2019 Marriages
drwxr-xr-x@ 4 edwardthompson staff 128 Jan 18 2019 Military
drwxr-xr-x@ 3 edwardthompson staff 96 Jan 18 2019 Other
drwxr-xr-x@ 8 edwardthompson staff 256 Jan 18 2019 books
不知道如何继续
fs.lstat 给了我相同的 ENOENT 结果。 Dropbox 目录有扩展属性(找不到 getfattr)
我试过 /user/... 并没有什么不同
【问题讨论】:
-
可能是访问
/Users/edwardthompson/目录的权限问题。您的节点环境是在同一个用户下运行,还是一个具有适当组访问权限的用户运行? -
也许尝试将硬盘盘符添加到路径中,例如
C:/... -
仅供参考,堆栈输出中的路径以
/User/开头,在您的函数调用和ls调用中,它以/Users/ 开头 -
/User/ 是我的复制粘贴错误(我正在尝试一些事情)。 C:/ 在 linux 或 macos 文件系统上没有意义。我一直在尝试以某种方式查看它的权限,但我正在以自己的方式运行,我可以做到
-
节点 fs.readdir 是否存在扩展属性 (xattr) 的问题?
标签: javascript node.js fs