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添加失败,微软删除了该功能)
