You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何切换Rust编译器活跃版本?构建Solana CLI版本检测异常求解

问题原因

cargo build-sbf是Solana专属的构建命令,它默认使用Solana CLI自带的独立Rust工具链,而非你通过rustup管理的全局Rust版本。每个Solana CLI版本都会绑定特定版本的Rust工具链:

  • 当你使用1.18.7版本的Solana CLI时,它绑定的rustc版本是1.72.0-dev,和你全局的1.76.0完全隔离,所以会触发bumpalo v3.15.4的版本要求报错;
  • 降级Solana CLI后,新的CLI版本绑定了更低的1.68.0版本工具链,因此报错里检测到的是这个版本。
解决方法

方法1:锁定bumpalo到兼容版本

bumpalo v3.15.0及以上要求rustc 1.73+,你可以将项目依赖的bumpalo版本锁定到兼容1.72.0的版本:

  1. 在项目的Cargo.toml中修改bumpalo依赖:
    bumpalo = "=3.14.0"
    
  2. 执行命令更新依赖:
    cargo update -p bumpalo --precise 3.14.0
    
  3. 重新运行cargo build-sbf即可。

方法2:让Solana使用全局Rust工具链

通过环境变量强制cargo build-sbf使用你全局的高版本Rust:

  1. 执行以下命令设置环境变量(bash/zsh环境适用):
    export SOLANA_CUSTOM_RUST_TOOLCHAIN=stable
    
    (这里stable对应你全局的1.76.0版本,也可以直接指定版本号如1.76.0)
  2. 重新运行cargo build-sbf。

方法3:升级Solana CLI到对应高版本

如果你的项目允许,升级Solana CLI到绑定rustc 1.73+的版本(比如1.19.x及以上),重新安装后即可正常构建:

solana-install init 1.19.0

(具体版本可参考Solana官方版本说明,确认其绑定的rustc版本满足依赖要求)

内容的提问来源于stack exchange,提问作者Miumicream

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 11:02:22