关于在vscode终端不能执行npm

文章目录

一、问题描述

在vscode里不能执行npm,但是在cmd命令行界面可以成功执行。


在vscode终端里执行:

在命令行里执行:

二、解决策略

解决思路:出现这种情况,通常是因为环境变量未正确继承或终端配置不一致。

方法一:使用管理员权限

使用管理员权限重新启动vscode,尝试运行npm,可以发现运行成功。

再次使用普通权限执行,发现还是无法使用:

出现这种情况,这是因为以管理员身份启动 VS Code 时,终端会直接继承系统级环境变量(包括 Node.js 和 npm 的安装路径),而普通权限可能因系统限制无法正确加载这些路径。

如果每次都选择管理员权限打开,会有点麻烦,可以设置为每次启动vscode时都使用管理员权限:右键vscode->属性->兼容性->更改所有用户的设置,勾选以管理员身份运行此程序。

方法二:验证环境变量

验证环境变量:$env:Path -split ';' | Select-String 'nodejs'

可以发现环境变量指向了残留的安装目录,说明node没有卸载干净,删除掉相关文件和环境变量

输入npm list -g --depth 0,发现npm全局路径被指向了一个不存在或权限受限的目录

修改全局路径配置

powershell 复制代码
# 检查npm全局路径配置
# 可以发现指向的目录为残留目录
npm config get prefix

# 修复全局路径配置
npm config set prefix 'D:\AppGallery\Software\nodejs'

# 验证
npm config get prefix

同样验证全局缓存地址

powershell 复制代码
npm config get cache
npm config set cache 'D:\AppGallery\Software\nodejs'
npm config get cache

Windows 系统在修改环境变量(尤其是系统级变量)后,需要重启所有应用程序(包括资源管理器)或重启系统才能生效。

最后重启电脑就可以了

方法三:临时添加环境变量(不推荐)

可以直接添加环境变量(不推荐),每次执行都需要加上

powershell 复制代码
$env:Path += ";D:\AppGallery\Software\nodejs"

三、小结

总体来说,因为之前安装过node,在安装nvm时卸载node卸载的不干净,全局路径配置和缓存配置都没有弄好,导致出现了许多问题

相关推荐
Peter-OK3 小时前
PostgreSQL学习笔记(入门-进阶-精通说明)
笔记·学习·postgresql
承渊政道4 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
橙橙笔记5 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能
成都蜀味缘餐饮技术培训学校5 小时前
手撕烤兔技术培训实战指南,秘制腌料配方比例与调制手法
大数据·经验分享·笔记·其他·微信公众平台
希和20276 小时前
免费AI视频生成工具汇总(国内优先,适合做漫剧、短视频,Obsidian笔记版)
人工智能·笔记·音视频
蒸蒸yyyyzwd8 小时前
秋招学习笔记 day109
笔记·八股
Hhy_11079 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
山甫aa9 小时前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
m0_5648768410 小时前
CMake学习
学习
只愿云淡风清10 小时前
正则表达式学习笔记 02:基础语法
笔记·学习·正则表达式