我正在尝试构建(https://github.com/betterclever/solend-anchor)包使用anchor build
,但是我得到以下错误
error: package `uint v0.9.3` cannot be built because it requires rustc 1.56.1 or newer, while the currently active rustc version is 1.56.0-dev
我更新了rustc并运行命令rustup default nightly
显示:
info: using existing install for 'nightly-x86_64-apple-darwin'
info: default toolchain set to 'nightly-x86_64-apple-darwin'
nightly-x86_64-apple-darwin unchanged - rustc 1.61.0-nightly
因此,它向我展示了已安装和活动的rustc版本是1.61,但由于某种原因,锚构建没有发现这一点。我也试着运行货物构建bpf,但同样的事情一直在发生。cargo build
似乎运行良好。我想知道在运行锚构建和货物构建bpf时是什么导致了问题?
anchor build
和cargo build-bpf
使用的编译器与系统中包含的普通rustc
编译器不同,因此它们报告的版本不同是正常的。BPF编译器附带Solana工具套件。
如果你的电脑上已经安装了Solana工具,你可以简单地运行:
solana-install init 1.9.13
如果你不这样做,你可以运行:
sh -c "$(curl -sSfL https://release.solana.com/v1.9.13/install)"
这将为您提供所有最新的工具,包括BPF编译器。
我有Solana的最新版本,在编译一个下载的程序时遇到了同样的错误。命令
solana-install update
为我工作。