1. 问题现象
环境:
- 系统:win11
- node:v16.20.2
- “vue”: “2.6.10”
执行npm run serve
启动vue项目,期望:
App running at:- Local: http://localhost:9528/ - Network: http://x.x.x.x:9528/
实际:
App running at:- Local: http://localhost:9528/ - Network: unavailable
2. 结论
- 完全可以不用管,控制台只是显示,不影响使用,输入ip照常访问(如果使用局域网内其它电脑无法访问,可能不是这个问题,可能是防火墙设置等其它问题)。
- 环境变量添加
C:\Windows\System32\wbem
。 - 如果你使用的是win11系统,检查下你的系统有没有开启
wmic
命令。 - 放弃。
3. 排查过程
- 根据网络提示,跟
\node_modules\@vue\cli-service\lib\util\prepareURLs.js
有关系,找到该文件。 - 根据
unavailable
关键字,找到如下代码,尝试使用console.log()
打印日志失败,直接修改lanUrlForTerminal
变量值,会在控制台输出,看看执行路径。
- 打印了
mark1
,没有打印mark2
,那我们推测lanUrlForConfig
为空,进一步推测try里面报错了。 - 把错误
_e
赋值给lanUrlForTerminal
,输出到控制台如下:
- 这就清楚了,没有
wmic
命令
- 在可选功能中开启
wmic
(win11 23H2之前可添加,win11 24H2添加失败,微软删除了该功能)