“类型错误:无法读取每个 npm 命令的未定义属性‘get’”

Ber*_*ier 5 node.js npm

设置配置参数后,npm 安装中断:

即我设置了 npm config 的 cafile 参数,现在每个 npm 命令都返回此错误:

错误:EISDIR:对目录进行非法操作,读取类型错误:
无法读取
errorHandler处未定义的属性“get” (C:\Program Files\nodejs\node_modules\npm\lib\utils\error-handler.js:205:18)
在 C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js:78:20
在 cb (C:\Program Files\nodejs\node_modules\npm\lib\npm.js:228:22)
在C:\Program Files\nodejs\node_modules\npm\lib\npm.js:266:24
在 C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:83:7
在 Array.forEach ( )
在 C:\Program Files\nodejs\node_modules\npm\lib\config\core.js:82:13
在 f (C:\Program Files\nodejs\node_modules\npm\node_modules\once\once.js:25: 25)

Conf.afterCARead (C:\Program Files\nodejs\node_modules\npm\lib\config\load- cafile.js:14:14)
C:\Program Files\nodejs\node_modules\npm\lib\utils\error-
handler.js :205 if (npm.config.get('json')) {
^

似乎我通过执行 npm config set cafile "" 破坏了 npm 配置

小智 7

删除文件 /Users/username/.npmrc。

我在使用和不使用 nvm 的情况下多次重新安装节点,但这是解决权限问题的唯一方法。


Ber*_*ier 3

解决方案是手动编辑 npm 配置文件。在 Windows 上,它们位于此处:

用户配置:

C:\Users\myuser\.npmrc
Run Code Online (Sandbox Code Playgroud)

全局配置:

C:\Users\myuser\AppData\Roaming\npm\etc\npmrc
Run Code Online (Sandbox Code Playgroud)