Я пишу программу NFT в рамках Anchor в блокчейне Solana.
Однако когда я пытался собрать программу с помощью команды anchor build
, это всегда приводило к ошибке.
Ошибка:
error: package `solana-program v1.18.11` cannot be built because it requires rustc 1.75.0 or newer, while the currently active rustc version is 1.72.0-dev
Either upgrade to rustc 1.75.0 or newer, or use
cargo update -p [email protected] --precise ver
where `ver` is the latest version of `solana-program` supporting rustc 1.72.0-dev
joshi@Joshis-MBP future-play-nft-anchor-solana % rustup update stable
Текущая версия Rusc, которую я использую:
rustc --version
rustc 1.77.0 (aedd173a2 2024-03-17)
И версия ржавчины, которая появляется после выполнения команды rustup -V
:
rustup 1.27.0 (bbb9276d2 2024-03-08)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.77.0 (aedd173a2 2024-03-17)`
Я уже выполнил команду rustup update
, чтобы убедиться, что использую последнюю версию.
Кроме того, это краткий обзор моей структуры каталогов:
.
Как видите, в моем каталоге нет файлаrust-toolchain.toml.
Может кто-нибудь помочь мне преодолеть эту ошибку? Дайте мне знать, если вам понадобится дополнительная информация о контексте, я буду рад предоставить больше.
Сначала используйте эту команду, чтобы получить версию solana: solana --version
Затем используйте эту команду: Cargo update -p [email protected] --precision 1.17.25 (используйте выходное значение solana --version)
Если это не сработает, установите стабильную версию solana и команду для нее: sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
а затем выполните те же действия, что и выше.
как указывает @c-s в своем комментарии, solana sdk использует свой собственный Rusc, отличный от того, который используется Rustup. Вам необходимо обновить установку solana-tools, см. этот ответ Почему «привязная сборка» и «грузовая сборка-bpf» показывают неправильную версию Rusc?
solana sdk использует свой собственный Rusc, отличный от того, который используется в Rustup. см. stackoverflow.com/questions/71598808/…