新建一个vue2项目也这么难么

虽然vue项目已经正式成为过去式,但是在各小厂众多的历史项目里,vue2的应用仍然很广泛。

今天要用vue2做一个demo,结果一通操作下来,想用vue create hello-world命令创建一个项目,结果发现失败了:

此时我心中好多马跑过去,心想之前那么简单的事怎么突然就出问题了,作为程序员我确实崩溃了两分钟,但是问题总是要解决。

网上找了一下相关资料,总结了相关恢复步骤,希望能帮助到需要的人。

问题根源

这个问题是与Windows系统的PowerShell执行策略有关。默认情况下,Windows可能会限制脚本的执行以防止恶意脚本的运行。当你尝试运行Vue.js的脚本或任何PowerShell脚本时,可能会遇到这样的错误。

解决方案

为了解决这个问题,你需要更改PowerShell的执行策略。以下是具体步骤:打开PowerShell:你可以通过开始菜单搜索"PowerShell"来找到它,然后以管理员身份运行它。查看当前执行策略:在PowerShell中输入以下命令并回车:

shell 复制代码
Get-ExecutionPolicy

之后会显示你当前的执行策略,我的已经是设置好的RemoteSigned策略,可以给你看看:

如果不是这个策略就要修改执行策略了,但是改成这个也有风险,这个策略会允许你运行所有脚本,所以改之前你最好想清楚。

修改命令如下:

shell 复制代码
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 参数,这样它仅更改当前用户的执行策略,而不是整个系统范围的策略。脚本如下:

shell 复制代码
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

回车之后再次输入A,这次应该能成功了。

希望这篇文章能帮助到你,欢迎点赞分享,谢谢鼓励!

参考资料:

相关推荐
蓝瑟3 分钟前
告别重复造轮子!业务组件多场景复用实战指南
前端·javascript·设计模式
dorisrv24 分钟前
高性能的懒加载与无限滚动实现
前端
韭菜炒大葱30 分钟前
别等了!用 Vue 3 让 AI 边想边说,字字蹦到你脸上
前端·vue.js·aigc
StarkCoder42 分钟前
求求你,别在 Swift 协程开头写 guard let self = self 了!
前端
清妍_43 分钟前
一文详解 Taro / 小程序 IntersectionObserver 参数
前端
电商API大数据接口开发Cris1 小时前
构建异步任务队列:高效批量化获取淘宝关键词搜索结果的实践
前端·数据挖掘·api
符方昊1 小时前
如何实现一个MCP服务器
前端
喝咖啡的女孩1 小时前
React useState 解读
前端
渴望成为python大神的前端小菜鸟1 小时前
浏览器及其他 面试题
前端·javascript·ajax·面试题·浏览器
1024肥宅1 小时前
手写 new 操作符和 instanceof:深入理解 JavaScript 对象创建与原型链检测
前端·javascript·ecmascript 6