无论我在什么目录下,无论我在cmd.exe中键入“npm”后,我都被这个错误卡住了。下面是npm-debug.log:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js' ]
2 info using npm@2.14.12
3 info using node@v4.2.6
4 verbose stack Error: EISDIR: illegal operation on a directory, read
4 verbose stack     at Error (native)
5 verbose cwd C:\Users\me
6 error Windows_NT 6.1.7601
7 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js"
8 error node v4.2.6
9 error npm  v2.14.12
10 error code EISDIR
11 error errno -4068
12 error syscall read
13 error eisdir EISDIR: illegal operation on a directory, read
13 error eisdir This is most likely not a problem with npm itself
13 error eisdir and is related to npm not being able to find a package.json in
13 error eisdir a package you are trying to install.
14 verbose exit [ -4068, true ]

I have tried and uninstalling/reinstalling nodejs multiple times, I even deleted npm and npm-cache folders in C:\Users\me\AppData\Roaming. I'm not sure what went wrong to cause this. One second it was working fine, and now I can't get rid of this error. The explanation in the log does not make sense, as it gives this error in any directory. I should note that running a command prompt as administrator does not give this error. I'm pulling my hair out this Friday evening trying to get this fixed, any help would be greatly appreciated!


当前回答

在我的例子中,我使用的是西班牙语版本的Windows 10,这个版本混合了英语和西班牙语目录名。我的问题是桌面目录对某些命令使用这个名称,而对其他命令使用escritorio名称。我相信npm不能解决这个问题。我的解决方案是简单地更改到与我的主目录不同的从C:\开始的另一个目录。

其他回答

检查确保你在正确的目录下运行npm install。

(包。Json文件可以是一个额外的目录下,例如。)

在我的例子中,C:\Users\{user}\AppData\local\npm文件被隐藏,所以我无法找到并删除故障目录。我花了几天时间才意识到这一点!

所以,仔细检查,取消隐藏任何文件夹,这样你就不会错过它们!如果你不知道怎么做,这里有一个链接。

一定要检查你的npm版本,看看它是否有问题。在写这篇文章的时候,我也遇到了同样的问题,我发现我的npm版本(6.5)也有问题。我不得不卸载并重新安装npm 6.4.1版本,然后一切又开始正常工作了。

在我的情况下,我正在angularv10与材料工作。我改变了一些脚本文件,忘记在脚本数组中删除这些空的“”

scripts: [.....等等,等等,""

删除这些空的""

NPM clear-cache——force

关闭并打开vscode

它工作。

在我的情况下,我忘记传递它所要求的一个文件的完整路径。在传递文件的完整路径后工作:)