启动ipfs-coord时ipfs-repo-migrations 10升11迁移报错如何解决
该报错的核心原因是本地IPFS数据仓库(repo)版本与当前安装的IPFS版本不兼容:你之前运行过高版本IPFS生成了版本为11的仓库,而当前依赖的ipfs@0.55.4自带的ipfs-repo-migrations工具仅支持最高版本10的仓库,缺少10到11的迁移逻辑,因此启动失败。
解决方法
- 方案1:删除旧IPFS仓库(适用于仓库无重要数据的场景)
直接删除本地默认IPFS仓库目录即可:- Linux/macOS路径:
~/.jsipfs - Windows路径:
C:\Users\你的用户名\.jsipfs
删除后重启项目,IPFS会自动初始化适配当前版本的新仓库。
- Linux/macOS路径:
- 方案2:升级IPFS版本适配高版本仓库
将package.json中ipfs的依赖版本升级到^0.58.0及以上,该版本开始IPFS已内置10到11的仓库迁移规则,修改完成后执行npm install重新安装依赖,再启动项目即可。 - 方案3:指定自定义仓库路径避免冲突
如果不想删除旧仓库也不想升级IPFS版本,可以修改IPFS实例初始化代码,指定项目专属的仓库路径:
运行后会在项目根目录生成独立的新仓库,不会和全局旧版本仓库产生冲突。// 把原来的const ipfs = await IPFS.create()替换为以下代码 const ipfs = await IPFS.create({ repo: './.project-jsipfs' })
内容的提问来源于stack exchange,提问作者Harcourt Hamsa
相关产品推荐
相关产品推荐

