为啥 NPM 会安装一个空的“etc”文件夹和多个命令文件?

Posted

技术标签:

【中文标题】为啥 NPM 会安装一个空的“etc”文件夹和多个命令文件?【英文标题】:Why does NPM install an empty "etc" folder and multiple command files?为什么 NPM 会安装一个空的“etc”文件夹和多个命令文件? 【发布时间】:2020-03-28 01:21:59 【问题描述】:

出于某种原因,每当我在项目中更新或安装包时,NPM 都会安装一个空的 etc 文件夹和多个 .cmd 文件(见下图)。它也不再更新我的 package.json,我必须手动更新 NPM 已更新的包的版本。

我唯一记得我改变的是将 nodejs 文件夹添加为 Windows 环境变量以访问全局命令。除此之外,我似乎不记得做过任何会让 NPM 做出这种奇怪行为的事情。

有人知道我可能做错了什么吗? 我该如何解决这个问题?

谢谢!

更新: 我注意到每个 npm 操作都会添加空的 etc 文件夹。 (npm 安装、发布、启动、更新……)

【问题讨论】:

【参考方案1】:

我解决了,但不太明白如何解决。

经过长时间的搜索,我发现上述所有文件实际上都应该在 node_modules 内的 .bin 文件夹中。我卸载重装了nodejs,还是不行。

最后,我去了 NPM 存储其全局文件的文件夹:C:\Users\username\AppData\Roaming\npm 并清空了该文件夹。现在我可以在没有上述结果的情况下使用 NPM 安装、更新或执行任何其他操作。

【讨论】:

以上是关于为啥 NPM 会安装一个空的“etc”文件夹和多个命令文件?的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个 WSDL 文件在 VS2008 中会生成一个空的服务代理?

为啥每次安装新库时都必须更新 npm?

为啥我创建的 npm 包在安装它作为另一个模块的依赖项时有一个 node_modules 文件夹?

为啥我的 electron-forge 和 webpack 模板会使用空的 node_module 文件夹制作可分发文件?

angular-cli:为啥当 npm 安装新模块时会删除旧模块

为啥 npm 看不到类星体?