macOS安装Anchor出现版本不匹配:要求的0.18.2版本不存在如何解决
问题根因
该报错是由项目本地安装的@project-serum/anchor npm包版本与全局anchor-cli版本不匹配导致的:0.18.2版本是npm包先行更新的版本,官方暂未在GitHub Release页上传对应的预编译二进制安装包,因此你找不到对应的正式发布版本。
解决方法
你可以根据自己的需求选择以下任意一种方案:
方案1:降级npm包版本(无需重新安装anchor-cli,推荐临时使用)
如果你不需要0.18.2版本的新特性,直接把项目内的npm包降到和全局cli匹配的0.18.0版本即可:
npm install @project-serum/anchor@0.18.0
执行后再运行anchor相关命令就不会触发版本校验报错。
方案2:从源码编译安装0.18.2版本cli
如果你必须使用0.18.2版本的功能,不需要使用第三方fork版本,直接从官方源码编译即可:
# 拉取官方仓库代码 git clone https://github.com/project-serum/anchor.git # 进入仓库目录切换到对应版本 cd anchor && git checkout v0.18.2 # 编译安装本地版本 cargo install --path cli anchor-cli
安装完成后执行anchor --version确认版本匹配即可。
方案3:使用Anchor版本管理器(AVM)长期管理多版本
如果后续需要频繁切换不同Anchor版本,推荐使用官方的版本管理器,避免反复手动安装卸载:
# 卸载现有全局anchor-cli cargo uninstall anchor-cli # 安装AVM cargo install --git https://github.com/project-serum/anchor avm --locked # 安装指定版本的anchor-cli avm install 0.18.0 # 切换到对应版本 avm use 0.18.0
内容的提问来源于stack exchange,提问作者Mabel Oza
相关产品推荐
相关产品推荐

