Vue实战096:解决Vue运行无法加载文件及其他启动异常
今天在Win10上用VSCode运行Vue项目时遇到一个错误:vue : 无法加载文件 D:\Program Files\node-v14.15.1-win-x64\vue.ps1,因为在此系统上禁止运行脚本。node用的官方绿色版直接配置环境变量,Vue在cmd命令窗全局口安装的可以通过vue --servion查看到Vue版本。
# CMD命令窗口
>vue --version
@vue/cli 4.5.10
# PowerShell
> vue --version
vue : 无法加载文件 D:\Program Files\node-v14.15.1-win-x64\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 htt
ps:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ vue --version
+ ~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
解决办法
用管理员的身份运行PowerShell,然后执行命令:get-ExecutionPolicy,如果回复Restricted表示当前状态是禁止的 。这时候我们再执行命令:set-ExecutionPolicy RemoteSigned ,在弹出的选项后输入:y 来更改策略。
> get-ExecutionPolicy
Restricted
> set-ExecutionPolicy RemoteSigned
执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为“N”): y
这样错误提示没有了,但是接下来又出现错误: 'vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件。npm WARN Local package.json exists, but node_modules missing, did you mean to install? 这种情况一般是检测到本地环境未安装vue-cli,但是很明显我是全局安装了的。
>npm run serve
> ncview@0.1.0 serve C:\Users\fanmi\Desktop\DEMO\ncview
> vue-cli-service serve
'vue-cli-service' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ncview@0.1.0 serve: `vue-cli-service serve`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ncview@0.1.0 serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\fanmi\AppData\Roaming\npm-cache\_logs\2021-01-19T03_37_11_868Z-debug.log
卸载重装
全局卸载Vue我们可以执行命令:npm uninstall -g @vue/cli,卸载之后用命令vue -V查下是否还有Vue版本如果出现【'vue' 不是内部或外部命令,也不是可运行的程序或批处理文件】说明已经卸载Vue了。重新安装新版本npm install -g @vue/cli或通过@指定版本npm install -g @vue/cli@4.5.7,安装之后我们再次通过命令:vue --version查看Vue版本,如果显示则安装成功(这次我用PowerShell安装)。
> npm uninstall -g @vue/cli
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
removed 1388 packages in 71.758s
> vue -V
'vue' 不是内部或外部命令,也不是可运行的程序或批处理文件。
> npm install -g @vue/cli
>vue --version
@vue/cli 4.5.10
重下node_modules
重装之后还是遇到错误: 'vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件。删了node_modules文件夹重新下载依赖,在项目目录执行命令:npm i ,Vue会根据package.json安装相关依赖了。在安装依赖时(npm install)又遇到报错: npm ERR! cb()never called,管理员模式打开cmd执行命令:npm cache clean -f清除npm缓存 ,然后执行命令:npm install -g n --force安装npm包管理助手。重新删除项目中的 package-lock.json 文件 和 node_modules 文件夹,然后再执行 npm i重新下载node_modules。最后执行npm run serve,启动成功!
> npm i
npm ERR! cb() never called!
npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!
>npm cache clean -f
npm WARN using --force I sure hope you know what you are doing.
> npm install -g n --force
npm WARN using --force I sure hope you know what you are doing.
D:\Program Files\node-v14.15.1-win-x64\n -> D:\Program Files\node-v14.15.1-win-x64\node_modules\n\bin\n
+ n@7.0.0
added 1 package from 4 contributors in 1.064s
总结:
项目是在Ubuntu 18.04系统上创建的,应该是node、npm和vue的版本和项目中对应的版本不匹配造成的吧!以上内容是小编给大家分享的【Vue实战096:Vue运行无法加载文件及其他问题解决】。希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。