Ойоштороу проблемаларын хәл итеү
Был бүлектә Iroha 3 ҡуйыу өсөн проблемаларҙы хәл итеү буйынса кәңәштәр бирелә. Әгәр һеҙ кисергән мәсьәлә бында һүрәтләнмәгән икән, беҙгә Telegram аша мөрәжәғәт итегеҙ.
Тиҙ тикшереүҙәр
Күпселек ҡоролмалар етешһеҙлектәре дүрт урындарҙың береһенән килә:
- Rust инструменттар сылбыры өҫкө ағымындағы эш майҙаны ҡуйып ҡуйған версияға ҡарағанда олораҡ
cargoйәкиrustcбашҡа ҡоролмаға бүленгәнrustup- missing system build tools such as a C compiler,
pkg-config, or CMake - сығанаҡ үҙгәрештәренән һуң иҫкергән сығарылған өҙөктәр йәки урындағы төҙөлөш артефакттары
Iroha сығанағы иҫәбенән:
rustup show
cargo --version
rustc --version
cargo metadata --no-depsӘгәр cargo metadata уңышһыҙлыҡҡа осраһа, урындағы инструменттар сылбырын төҙәтеү pnpm refresh:iroha --source /path/to/iroha эшләткәнсе, сөнки яңыртыу хәҙерге мәғлүмәт моделе схемаһын булдырыу өсөн Kagami саҡыра ала.
Проблемаларҙы хәл итеү Rust Инструменттар сылбыры
Ҡайһы берҙә, әйберҙәр планлаштырылғанса бармай. Айырыуса әгәр һеҙ rust булған һеҙҙең системаһы бер аҙ элек, әммә яңыртыу түгел. Ошоға оҡшаш проблема барлыҡҡа килә ала Python: XKCD билдәле миҫал нисек булырға мөмкин был кеүек:

Rust версияһын тикшер
Һеҙҙең һәм беҙҙең һаулығыбыҙҙы һаҡлап ҡалыу мәнфәғәтендә, һеҙ cargo дөрөҫ версияһы менән параллель rustc дөрөҫ версияһына эйә булыуына инанығыҙ. Ағымдағы өҫкө ағымындағы эш урыны rust-version = "1.92" тип иғлан итә һәм инструменттар сылбыр каналын rust-toolchain.toml ҡуйып ҡуя.
$ cargo -V
$ cargo 1.93.1 (...)һәм һуңынан
$ rustc --version
$ rustc 1.93.1 (...)Әгәр һеҙ юғары версиялар бар, һеҙ яҡшы. әгәр һеҙ түбән версиялар, һеҙ уны яңыртыу өсөн түбәндәге команданы эшләй алаһығыҙ:
$ rustup toolchain update stableИнсталляция урынын тикшерегеҙ
Әгәр һеҙ түбән версиялар һаны ала һәм һеҙ инструменттар сылбыр яңыртып һәм ул эшләмәгән... Әйҙәгеҙ, был ябай проблема тип әйтергә, әммә ул уртаҡ сиселеше юҡ.
Беренсенән, һеҙ ҡулланырға теләгән версияның ҡайҙа ҡуйылғанлығын асыҡларға тейеш:
$ rustup which rustc
$ rustup which cargoҠулланыусы ҡорамалдар селтәрҙәренең ҡоролмалары, ғәҙәттә, ~/.rustup/toolchains/stable-*/bin/. Әгәр был осраҡта, һеҙ
$ rustup toolchain update stableһәм был һеҙҙең проблемаларығыҙҙы хәл итергә тейеш.
Rust дефолт версияһын ҡарағыҙ
Икенсе вариант - һеҙҙә яңыртылған stable инструменттар сылбыры бар, әммә ул алдан билдәләнмәгән булып ҡуйылмаған.
$ rustup default stablenightly версияһын урынлаштырыу йәки Rust версияһын һуңғараҡ ҡуймайынса ҡуйыу был проблемаға килтерә ала.
Башҡа Rust версиялары бармы-юҡмы икәнен тикшерегеҙ
Ҡош-ҡорҙоң проблемаларын хәл итеүҙе дауам итһәк, беҙ шулай уҡ ҡушаматтарға эйә булыр инек:
$ type rustc
$ type cargoӘгәр был күрһәтелгән урындар һеҙ эшләгәндә күргәнегеҙҙән башҡа урынға йүнәлтә икән rustup which *, һеҙҙә проблема бар. Иҫегеҙгә төшөрәбеҙ , бындай ҡушаматтар өҫтәү генә етмәй:
$ alias rustc "~/.rustup/toolchains/stable-*/bin/rustc"
$ alias cargo "~/.rustup/toolchains/stable-*/bin/cargo"Эске логика һаман да боҙолорға мөмкин, шулай уҡ һеҙ нисек кенә ҡушаматтарығыҙҙы урынлаштырмаһын.
Иң ябай ысул - ҡулланылмаған версияларҙы алып ташлау.
Шулай ҙа был эште башҡарыуҙан да еңелерәк, сөнки ул бөтә версияларҙы ла күҙәтеүҙе талап итә. rustup ғәҙәттә, ике генә бар: системаның пакет менеджер версияһы һәм ҡуйылған бер Был дәреслектең башында ҡушҡан саҡта төп папкағыҙҙағы стандарт урынға инегеҙ. Тәүгеһе өсөн, һеҙҙең (Linux) дистрибуция ҡулланмаһын ҡарағыҙ.apt remove rust). Һуңғыһы өсөн:
$ rustup toolchain listҺәм һуңынан, һәр <toolchain> өсөн (көйөш бәйләнештәреһеҙ, әлбиттә):
$ rustup remove <toolchain>Инструменттар сылбырҙарын алып ташлағандан һуң, был ҡушымта команда табылмаған хатаны хәбәр итергә тейеш:
$ cargo --helpБыл хата актив Rust инструменттар сылбырһы ҡуйылмаған тип раҫлай.
$ rustup toolchain install stableПроблемаларҙы хәл итеү Python ҡорамалдар сылбыры
Python клиент ҡоролмаһы ваҡытында pip ҡулланып, Python тәгәрмәс пакетын урынлаштырғанда: "iroha _python-*.whl был платформала тәьмин ителгән тәгәрмәсе түгел" кеүек хата менән осраша алаһығыҙ.
Был хата pip иҫкергән тигәнде аңлата, шуға күрә уны яңыртырға кәрәк. Беренсенән, һеҙҙең OS яңыртыуҙар өсөн тикшереү һәм системаны яңыртыу үткәреү тәҡдим ителә.
Әгәр был эшләмәй икән, һеҙ ҡулланыусылар каталогы өсөн pip яңыртыу тырыша алаһығыҙ.
python -m pip install --upgrade pip
pip йорт каталогығыҙҙа ҡуйылғанлығын тикшерегеҙ. Быны эшләр өсөн, whereis pip алып барығыҙ һәм /home/username/.local/bin/pip юлдар араһындамы икәнен тикшергеҙ. Юҡһа, ҡайышығыҙҙың PATH үҙгәреүсәнен яңыртығыҙ.
Әгәр проблема дауам итһә, беҙгә шылтыратып, һөҙөмтәләр тураһында хәбәр итегеҙ.
python --version
python3 --version
pip --version
pip3 --version