虽然vue项目已经正式成为过去式,但是在各小厂众多的历史项目里,vue2的应用仍然很广泛。
今天要用vue2做一个demo,结果一通操作下来,想 vue create hello-world
,结果发现失败:
此时我心中好多马跑过去,心想之前那么简单的事怎么突然就出问题了,作为程序员我确实崩溃了两分钟,但是问题总是要解决。
网上找了一下相关资料,总结了相关恢复步骤,希望能帮助到需要的人。
问题根源
这个问题是与Windows系统的PowerShell执行策略有关。默认情况下,Windows可能会限制脚本的执行以防止恶意脚本的运行。当你尝试运行Vue.js的脚本或任何PowerShell脚本时,可能会遇到这样的错误。
解决方案
为了解决这个问题,你需要更改PowerShell的执行策略。以下是具体步骤:打开PowerShell:你可以通过开始菜单搜索“PowerShell”来找到它,然后以管理员身份运行它。查看当前执行策略:在PowerShell中输入以下命令并回车:
Get-ExecutionPolicy
之后会显示你当前的执行策略,我的是已经设置好的RemoteSigned
策略,可以给你看看:
如果不是这个策略就要修改执行策略了,但是改成这个也有风险,这个策略会允许你运行所有脚本,所以改之前你最好想清楚。
修改命令如下:
set-ExecutionPolicy RemoteSigned
新问题来了
正常情况下会给出提示让你来选择,此时如果选择Y有可能还是会出问题,像这样(我是选Y报错,图忘记保存了,借用的网图是选A报错,不过报错内容是一样的);
这个问题意思是说你没有足够的权限来更改系统范围的 PowerShell 执行策略。
新问题也有学问
同时PowerShell
的这几个提示也是有讲究的,主要说一下Y和A:
全是(A): 如果你选择“全是”,系统将自动更改执行策略为下一个可用的更宽松的策略,而不询问用户确认。这通常意味着将执行策略设置为 Unrestricted,允许运行所有脚本,包括未签名的脚本。
是(Y): 选择“是”将允许你更改执行策略为下一个可用的更宽松的策略,但系统会要求你确认这个更改。这通常涉及到输入“Y”或“是”来确认你想要更改执行策略。
如果你选择了Y
失败了,可能是因为没有足够的权限或遇到其他限制(如组策略、UAC设置、第三方安全软件等),或者有其他安全策略或软件阻止了这一更改。而选“A”时,由于你选择了自动接受所有更改,系统不会再次要求确认,因此可能能够成功更改执行策略,前提是没有其他因素阻止这一操作。
新问题也得解决
1、首先你要确保这个PowerShell
面板你是以管理员身份打开的,如果不是就重新以管理员身份打开。
2、根据上面的分析,如果你是选择Y
失败了,就换成A
试一下,我换A
直接就成功了。
3、如果换成A
也不成功,就像上图那样,可以试下在Set-ExecutionPolicy
命令后面添加 -Scope CurrentUser 参数,这样它仅更改当前用户的执行策略,而不是整个系统范围的策略。脚本如下:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
回车之后再次输入A
,这次应该能成功了。
希望这篇文章能帮助到你,欢迎点赞分享,谢谢鼓励!
参考资料:
- blog.csdn.net/lzfengquan/…
- www.jianshu.com/p/722c3990c…
- AI