Невозможно собрать программу Solana NFT с помощью команды «anchor build» из-за проблемы с версией Rusc

Я пишу программу 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 sdk использует свой собственный Rusc, отличный от того, который используется в Rustup. см. stackoverflow.com/questions/71598808/…

C S 01.05.2024 00:03
Почему Python в конце концов умрет
Почему Python в конце концов умрет
Последние 20 лет были действительно хорошими для Python. Он прошел путь от "просто языка сценариев" до основного языка, используемого для написания...
3
1
216
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Сначала используйте эту команду, чтобы получить версию 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?

Другие вопросы по теме