如何解决WSL2环境下CloudFlare Wrangler启动时的MiniflareCoreError [ERR_RUNTIME_FAILURE]错误?
遇到这种情况真的挺闹心的!WSL2环境下Wrangler意外崩溃后,残留的进程、损坏的缓存经常会导致这种启动失败的问题,下面是几个亲测有效的解决方法,按顺序尝试就行:
清理Miniflare缓存与残留数据
Miniflare是Wrangler本地运行的核心组件,崩溃后很容易留下损坏的缓存文件。先试试官方的缓存清理命令:wrangler cache clean
如果这个命令不管用,可以手动删除Wrangler和Miniflare的缓存目录,在WSL2的用户主目录下执行:rm -rf ~/.wrangler ~/.miniflare杀掉残留的相关进程
有时候Wrangler崩溃后,对应的Node或Miniflare进程并没有完全退出,会占用资源导致无法重启。先查找相关进程:ps aux | grep miniflare
或者直接找Node进程:ps aux | grep node
找到进程ID后,用强制终止命令杀掉:kill -9 <进程ID>
要是嫌逐个杀麻烦,直接重启WSL2更彻底:wsl --shutdown
关闭当前终端后重新打开WSL2就行。检查并修复项目代码与配置
毕竟最初是代码错误导致的崩溃,先确保你已经修复了之前的代码问题。然后重新安装一遍项目依赖,避免依赖损坏:npm install
(用yarn的话就执行yarn install)
另外检查一下wrangler.toml配置文件有没有语法错误,比如括号不匹配、字段拼写错误,配置文件损坏也会触发启动失败。更新Wrangler到最新版本
旧版本的Wrangler可能在WSL2环境下存在兼容性bug,更新到最新版往往能解决不少问题:npm install -g wrangler
或者用Cloudflare官方的安装脚本更新:curl -fsSL https://developers.cloudflare.com/workers/cli/install.sh | sh
备注:内容来源于stack exchange,提问作者Soviut




