新建一个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,这次应该能成功了。

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

参考资料:

相关推荐
银嘟嘟左卫门12 小时前
上手 Rokid JSAR:新手也能快速入门的 AR 开发之旅
前端
右子12 小时前
HTML Canvas API 技术简述与关系性指南
前端·javascript·canvas
Lotzinfly12 小时前
10个JavaScript浏览器API奇淫技巧你需要掌握😏😏😏
前端·javascript·面试
合肥烂南瓜12 小时前
浏览器的事件循环EventLoop
前端·面试
golang学习记12 小时前
从0死磕全栈之Next.js after 函数详解:在响应完成后执行异步任务
前端
TeleostNaCl12 小时前
实战 | 使用 Chrome 开发者工具修改网页源码跳过前端校验
前端·chrome·经验分享·后端·js
阿星AI工作室13 小时前
1分钟搞定高级感PPT演示!Obsidian+Excalidraw神级玩法,手残党亲测有效
前端
liangshanbo121513 小时前
React 19 新特性:原生支持在组件中渲染 <meta> 与 <link>
前端·javascript·react.js
浩男孩13 小时前
🍀发现个有趣的工具可以用来随机头像🚀🚀
前端
前端 贾公子13 小时前
《Vuejs设计与实现》第 18 章(同构渲染)(下)
前端·javascript·html