快速解决powerShell无法识别npm指令的问题,npm不是一个可以识别的指令...

        之前重装电脑node.js然后配置了一系列环境,发现powershell识别不了npm命令,但是cmd可以,于是就找了一系列资料来解决;

检查powershell的配置文件

确保powershelll中的配置文件没有出现错误或者是缺少路径

打开powershell输入命令:$env:PATH

可以看到我的 npm路径正确的添加到了环境变量path当中,接下来排查一下其他原因;

检查 npm 路径是否正确

确保 npm 实际存在于 C:\Users\*******\AppData\Roaming\npm 路径中,在power中输入一下命令

Get-ChildItem "C:\Users\******\AppData\Roaming\npm\npm.cmd"(替换成你自己电脑相应的路径)
从错误消息里面看到C:\Users\32921\AppData\Roaming\npm\npm.cmd"路径里面不存在npm.cmd文件,说明npm可能没有正确安装或者是配置有问题;

确保npm的安装路径是正确的

在命令提示符(cmd)中输入where npm或者安装路径;


C:\Windows\System32>where npm
C:\Program Files\nodejs\npm
C:\Program Files\nodejs\npm.cmd
D:\app\node\node_global\npm
D:\app\node\node_global\npm.cmd

这些路径中,PowerShell 可能没有正确识别期望的 npm 路径。我们可以手动确保 PowerShell 使用正确的路径。

优化powershell 的path环境变量

在powershell中运行命令:

$env:PATH = "C:\Program Files\nodejs;D:\app\node\node_global;" + $env:PATH

PowerShell 报告的错误 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本 表明当前的执行策略阻止了脚本的运行。这是由于 PowerShell 的执行策略设置为了限制脚本执行;

临时更改执行策略(只在当前会话有效):

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

‘’
永久更改执行策略(建议设置为 RemoteSigned):​

​​​​​​Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

确认更改之后,就会提示已经跟新了执行策略,然后就可以在powershell正常使用npm命令了;
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值