无论我在什么目录下,无论我在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!


当前回答

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

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

删除这些空的""

NPM clear-cache——force

关闭并打开vscode

它工作。

其他回答

我也遇到过类似的问题。我使用命令设置cafile:

npm config set cafile PATH_TO_CERTIFICATE

我可以通过删除证书文件设置并设置strict-ssl = false来解决这个问题。

就我而言,以下步骤解决了我的问题:

终止npm进程(CTRL + C) 删除整个文件夹 创建一个新的 再次运行NPM

这发生在我使用npm publish -access public命令时。项目包含名为package.json的目录。这个错误是可悲的-因为项目必须有这个目录和命名确切的包。Json(它是测试用例fixture的一部分,用于断言这个库的正确行为)。

同样的问题,直到我尝试删除。git文件夹。它工作。我想这类问题可能有不同的原因。

确保node_modules(和你的根package.json)不包含对npm的“package”的引用。json”模块。删除包。node_modules的json文件夹为我解决了这个问题。