解决办法‘npm‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

本文记录了在安装和使用nvm(Node Version Manager)过程中遇到的‘npm’命令不可用的问题,原因是未以管理员权限运行命令行。解决方案是重新以管理员身份安装nvm,并按照步骤设置和使用指定版本的Node.js。通过nvm的命令行工具,成功验证了node和npm的安装,问题得到解决。

今天使用了nvm这个node的保姆级版本管理工具,的确很香。

首先打开官网nvm.uihtm.com/

下载安装过程很顺利,但是验证node及npm是否安装成功时,出现下面错误提示。

C:\Users\Administrator>npm -v

'npm' 不是内部或外部命令,也不是可运行的程序或批处理文件

 

 排查发现node安装目录下只有node_global和node_modules 2个文件夹。

 原因是安装nvm后,没有使用管理员身份运行命令窗口

解决办法:卸载nvm,重新安装,使用管理员身份运行命令提示符应用。

执行以下命令:

nvm

nvm list available 

nvm install  版本号   (安装指定的版本的nodejs)

nvm ls 查看目前已经安装的版本 ( 当前版本号前面没有 * , 此时还没有使用任何一个版本,这时使用 node.js 时会报错 )

nvm user 版本号 使用指定版本的nodejs ( 这时会发现在启用的 node 版本前面有 * 标记,这时就可以使用 node.js )

nvm ls

node -v

npm -v

tip: 可以参考nvm文档手册 - nvm是一个nodejs的版本管理工具查看具体命令说明。

结果: 验证node 、npm安装成功。开森!

 

### 解决方案 当遇到 `npm` 命令未被识别为内部外部命令的问题时,通常是因为系统的环境变量配置不正确者 Node.js 安装存在问题。以下是详细的解决方案: #### 1. 验证 Node.jsnpm 是否已安装 可以通过以下命令验证是否已经成功安装 Node.jsnpm: ```bash node -v npm -v ``` 如果上述命令返回版本号,则说明它们已被正确安装;如果没有返回任何信息提示错误,则需要重新安装 Node.js。 #### 2. 检查系统 PATH 环境变量 Node.js 的安装路径及其全局模块目录应添加到系统的 PATH 变量中。默认情况下,Node.js 会将其二进制文件放置在如下位置之一: - Windows: `C:\Program Files\nodejs\` - macOS/Linux: `/usr/local/bin/` 确保这些路径已经被加入到系统的 PATH 中[^3]。可以在控制台输入以下命令来确认: ```cmd echo %PATH% ``` 对于 Linux/macOS 用户,可以运行: ```bash echo $PATH ``` 如果发现缺少相关路径,请手动添加并重启终端。 #### 3. 删除缓存重置 npm 有时由于本地缓存损坏可能导致问题发生。尝试清除 npm 缓存以及重建它: ```bash npm cache clean --force ``` 接着更新 npm 至最新稳定版以修复潜在漏洞: ```bash npm install -g npm@latest ``` #### 4. 使用管理员权限执行操作 某些场景下可能因为权限不足而引发此类错误,在这种情形下建议切换至超级用户模式再试一次。比如在 Windows 上右键点击 CMD 并选择 “以管理员身份运行”。 #### 5. 调整内存限制 (针对特定情况) 如果你正在处理大型项目可能会碰到内存溢出的情况从而阻止正常构建流程完成。此时调整 node 进程可用的最大旧堆空间大小许有所帮助[^4]: ```bash set NODE_OPTIONS=--max_old_space_size=8192 ``` 此方法适用于临时增加分配给 JavaScript 对象的 RAM 数量以便顺利完成编译过程。 通过以上步骤应该能够有效解决大部分关于 'npm' isn't recognized as an internal or external command 类型的问题。
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值