解决:nrm throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value); 问题

本文详细记录了在Node.js环境中遇到'nrmthrownewERR_INVALID_ARG_TYPE(name,‘string’,value)'错误的解决过程。问题源于'nrm'命令执行时的版本不匹配。通过检查'npm'配置,定位到'nrmcli.js'文件,发现代码中关于路径设置的问题。修改'USERPROFILE'变量后,成功解决了错误。测试命令'nrmls'和'nrm-V'显示正常,问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、问题描述:

在 node 中安装好了 ‘nrm’ 却发现在执行命令后,
抛错:‘nrm throw new ERR_INVALID_ARG_TYPE(name, ‘string’, value);’,
该文章目的就是要找到该错误的原因以及解决该错误;

2、问题展示:

首先,在 cmd 命令行中运行命令 ‘nrm ls’,其会抛错;
即使是查看是否存在 vrm 的命令:‘nrm -V’ (注意:是大写的 ‘V’),也是抛出下述错误
‘nrm throw new ERR_INVALID_ARG_TYPE(name, ‘string’, value);’;

在这里插入图片描述

3、问题分析:

经过一系列的查询和操作,终于找到了问题所在,可能是因为版本不合适的原因;

4、解决的问题方法:

其一、查看 ‘npm’ 的配置:输入命令 ‘npm config ls’; 结果如下:若在 ‘user-agent’ 中显示的也是 ‘win32 x64’,那么我们的问题可能是相同的;
在这里插入图片描述

其二、找到安装 ‘nrm\cli.js’ 的文件:
在抛错的信息中找到:‘at Object.()’ 中的地址,我的是在:
‘C:\Users\dell\AppData\Roaming\npm\node_modules\nrm\cli.js’;
在这里插入图片描述
其三、打开该 ‘cli.js’ 文件
(建议用能打开并修改的能访问 ‘.js’ 文件的工具打开),我用的是 VSCode;
打开发现该代码块:

const NRMRC = path.join(process.env.HOME, '.nrmrc');

修改为:

const NRMRC = path.join(process.env.USERPROFILE, '.nrmrc');

该操作就完成了;

下述是我用 浏览器 和 VSCode 工具分别打开和修改 ‘cli.js’ 后的结果展示;

在这里插入图片描述
在这里插入图片描述
其四、分别在 ‘Windows PowerShell’ 和 ‘cmd’ 中进行测试;
测试命令为:‘nrm ls’;
若返回的结果是如下结果就说明其解决了问题;
在这里插入图片描述
在这里插入图片描述
其五、在 cmd 中查看 nrm 版本也是没有问题的;
输入命令:‘nrm -V’(注意是大写的);
在这里插入图片描述

5、小结:

哪里有不对或不合适的地方,还请大佬们多多指点和交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狮子座的男孩

如果可以,请我喝杯咖啡吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值