原因是由于 ngrok 强制要求更新到最新版本。
mockm v1.1.25-alpha.15
之前的版本可以在 mockm 的安装目录使用 npx ngrok update 更新版本来解决此问题。
以下是参考命令:
# 获取全局安装目录(假设你是全局安装的 mockm, 如果是局部安装的可以跳过此步)
> npm root -g
node_modules
# 进入 mockm 的所在目录
> cd node_modules/mockm
# 更新 ngrok
> npx ngrok update
详细原因分析
错误现象:
# 开启 remote 模式时一直输出以下信息, 远程服务信息为空
> mm remote
err connect ECONNREFUSED 127.0.0.1:58725
err connect ECONNREFUSED 127.0.0.1:58726
err connect ECONNREFUSED 127.0.0.1:58727
err connect ECONNREFUSED 127.0.0.1:58725
远程服务信息:
port:
replayPort:
testPort:
# 查看本地 ngrok 版本
> ngrok -v
ngrok version 2.3.35
# 直接使用 ngrok 来启动外网服务, 得到具体的原因是未注册的用户必须保持更新 ngrok
> ngrok http 80
Your ngrok agent version "2.3.40" is no longer supported. Only the most recent version of the ngrok agent is supported without an account.
Update to a newer version with `ngrok update` or by downloading from https://ngrok.com/download.
Sign up for an account to avoid forced version upgrades: https://ngrok.com/signup.
ERR_NGROK_120