Windows10 WSL2 Ubuntu18.04运行solana-test-validator报admin.rpc不存在如何解决
问题排查与解决方案
错误现象
执行
solana-test-validator时输出如下报错:Ledger location: test-ledger Log: test-ledger/validator.log Unable to connect to validator: Client error: test-ledger/admin.rpc does not exist
排查方向与解决思路
1. 项目路径位于Windows挂载盘导致权限不足
- WSL2访问/mnt/c、/mnt/d等Windows挂载盘时,跨系统文件权限控制存在兼容问题,会导致验证器无法正常创建admin.rpc等进程间通信文件
- 解决方法:将整个Solana开发项目迁移到WSL2原生ext4文件系统下的路径(例如
/home/[你的用户名]/solana-project/),重新执行启动命令
2. 历史残留的test-ledger目录损坏
- 之前异常终止验证器进程会导致账本目录产生损坏的缓存文件,无法被新启动的进程读取
- 解决方法:先删除损坏的账本目录再重新启动:
rm -rf test-ledger solana-test-validator
3. 系统依赖缺失或Solana版本不兼容
- Ubuntu18.04默认缺少部分Solana运行依赖,或安装的Solana版本过新/过旧导致兼容问题
- 解决方法:
- 先安装全量依赖:
sudo apt update && sudo apt install -y libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang make - 降级到适配18.04的稳定LTS版本,推荐1.14.x分支,安装完成后执行
solana --version确认版本生效
- 先安装全量依赖:
4. 默认端口被占用
- 验证器默认需要占用8899(RPC端口)、8900(WebSocket端口)、9900(验证器端口),端口被其他进程占用会导致启动失败
- 解决方法:
- 检查端口占用:
lsof -i :8899,杀死占用进程后重试 - 也可启动时手动指定自定义端口:
solana-test-validator --rpc-port 18899
- 检查端口占用:
5. WSL2内存分配不足
- 测试验证器启动至少需要4GB可用内存,默认WSL2分配的内存小于4GB时会启动失败
- 解决方法:
- 在Windows用户目录(
C:\Users\[你的Windows用户名]\)下创建.wslconfig文件,写入如下配置:[wsl2] memory=4GB processors=2 - 在Windows命令提示符执行
wsl --shutdown重启WSL2后再启动验证器
- 在Windows用户目录(
内容的提问来源于stack exchange,提问作者Martin Rouret
相关产品推荐
相关产品推荐

