为啥 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 包在安装它作为另一个模块的依赖项时有一个 node_modules 文件夹?
为啥我的 electron-forge 和 webpack 模板会使用空的 node_module 文件夹制作可分发文件?