在vscode中运⾏npm及node命令,显⽰⽆法将“npm”识别为cmdlet、函数、脚。。。
⼀、起因:
半年没使⽤vue了,感觉对vue都快⼿⽣了,所以想⽤vue写些demo,但是由于上个星期刚刚重新安装系统,计算机的环境⼜被清空了,所以⼜苦逼的安装了⼀下node环境与vue脚⼿架。
⼆、问题:
当⼀切安装就绪时,在电脑⾃带的cmd的窗⼝下⾯输⼊npm指令,可以正常运⾏。
但是在vscode下⾯却出现这个错误:
三、解决⽅法
这个问题,貌似我之前好像遇过,但是后来好像不知道怎么解决了,由于之前刚刚开始学习vue,所以就把重⼼花在学习上⾯了,忽略这个问题的记录,所以当出现这个问题时,我就觉得有点熟悉⼜陌⽣的感觉,所以我按常规操作,打开浏览器,查了⼀下解决⽅案,但是好家伙,答案千奇百怪,然⽽却没有⼀个适合我
1.有的教我添加环境变量,说是node的环境变量没有加⼊到系统⾥⾯,但是现在安装的node,它都会默认追加到系统环境变量⾥⾯,所以不是这个问题。
2.有的叫我以管理员⾝份运⾏,但是我本⾝就是以管理员⾝份登录的,但是我还是重新⽤管理员⾝份打开了vscode,发现还是没有解决问题;
3.有的说是vscode默认建⽴的终端时powershell,得重新选择cmd建⽴终端。但是powershell本⾝就是cmd的超集,所以貌似觉得这位博主在放屁,但是我没有证据证明他在放屁,所以还是重新关掉vscode,重新以管理员⾝份运⾏,重新新建cmd终端,但是vscode的报错变了,变成了:‘npm‘ 不是内部或外部命令,也不是可运⾏的程序或批处理⽂件
4.这位同学提出教我查看vscode的当前策略
这个虽然也解决不了问题,但是算是扩展了⼀下知识⾯,所以我查了⼀下这个策略是啥?
执⾏策略
使⽤命令Get-ExecutionPolicy确定当前执⾏策略
Restricted脚本不能运⾏受限制的(默认设置)
Unrestricted允许所有的脚本运⾏
RemoteSigned本地创建的脚本可以运⾏,但从⽹上下载的脚本不能运⾏
AllSigned仅当脚本由受信任的发布者签名时才能运⾏。
Set-ExecutionPolicy以管理员⾝份修改策略
本地策略为Restricted,所有脚本不能运⾏,受限制的,需绕过
绕过姿势 -ExecutionPolicy Bypass -File .\test.ps1
powershell怎么以管理员身份运行绕过姿势⼆ -exec bypass -Command "& {Import-Module E:\Desktop\powershelll\test.ps1}"
绕过姿势 -exec bypass -Command "& {Import-Module E:\Desktop\powershelll\test.ps1;InvokeAllChecks}"
所以⾄少在探索问题中,我学到了这个powershell的策略,了解了它的⼤概。
最后在上⾯都试过之后,发现都没办法解决我的问题,我最后重启电脑,最后成功解决问题。
所以我觉得应该是vscode本⾝在读取电脑环境变量配置中出现了疏漏,我猜测vscode每次开机,⾃动读取电脑环境变量配置,然后再根据配置建⽴终端,所以没有重启电脑的情况下,刚刚安装的node环境变量没有被vscode得知,所以vscode会出现这个错误。当然这个只是我的⼀个猜测。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。