Bower install: Error: EISDIR: illegal operation on a directory, read

Bower install: Error: EISDIR: illegal operation on a directory, read

我不得不将 node.js 升级到 v4+(现在是 4.1.0),我现在遇到 Bower (1.5.2) 的问题。不过,我不能 100% 确定问题是在 node.js 升级后立即出现的。 在我所有的 angular/ionic 项目中,我在发出 "bower install" 时得到 "Error: EISDIR: illegal operation on a directory, read"。这是堆栈跟踪:

Error: EISDIR: illegal operation on a directory, read
    at Error (native)
    at Object.fs.readSync (fs.js:603:19)
    at Object.fs.readSync (C:\Users\mvrm\AppData\Roaming\npm\node_modules\bower\node_modules\bower-config\node_modules\graceful-fs\polyfills.js:218:23)
    at Object.fs.readFileSync (fs.js:438:24)
    at C:\Users\mvrm\AppData\Roaming\npm\node_modules\bower\node_modules\bower-config\lib\util\rc.js:75:27
    at Array.forEach (native)
    at json (C:\Users\mvrm\AppData\Roaming\npm\node_modules\bower\node_modules\bower-config\lib\util\rc.js:74:14)
    at rc (C:\Users\mvrm\AppData\Roaming\npm\node_modules\bower\node_modules\bower-config\lib\util\rc.js:31:9)
    at Config.load (C:\Users\mvrm\AppData\Roaming\npm\node_modules\bower\node_modules\bower-config\lib\Config.js:14:20)
    at Function.Config.read (C:\Users\mvrm\AppData\Roaming\npm\node_modules\bower\node_modules\bower-config\lib\Config.js:49:19)

在另一台计算机上,使用旧版本的 bower (1.3.2),没有 graceful-fs,也没有问题。

我找到了很多关于这个问题的帖子,但这些解决方案对我不起作用。

据我了解这些帖子,问题似乎是代码试图将目录作为文件读取。

有没有办法找出哪个目录正在作为文件访问? (比如在 polyfills.js 中打印到控制台?) 这可能会导致我找到这个问题的原因。

非常感谢!

在调试 bower js 代码后,我找到了解决方案。 我不知道为什么,但我的根文件夹 ("C:\.bowerrc") 中有一个“.bowerrc”文件夹。该文件夹是空的。 删除文件夹解决了问题!