Нэвтрүүлгийн асуудлыг шийдвэрлэх
Энэ хэсэг нь Iroha 3 тавихын тулд асуудал шийдэх зөвлөмжийг санал болгодог. Хэрэв танд тохиолдож буй асуудал энд тодорхойлогдсонгүй бол Telegram-ээр бидэнтэй холбоо бариарай.
Удахгүй шалгах
Ихэнх байгууламжийн алдаа нь дөрвөн байрлалын нэгээс үүдэлтэй:
- Rust тоног төхөөрөмжийн сүлжээ нь урсгалын өмнө ажилладаг ажлын орон зайд байрлагдсан хувилбараас эрт
cargoэсвэлrustcөөр төхөөрөмжд шийдэхrustup- C компилятор,
pkg-configэсвэл 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-ийн бусад хувилбар байгаа эсэхийг шалгаарай
Үргэлжүүлэн шувууны нүхний асуудлыг шийдвэрлэхэд бид "Shell aliases" гэж нэрлэж болно:
$ 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>Тус команд нь хэрэгслийн сүлжээг устгасны дараа "No-found error" команд мэдээлэх ёстой:
$ cargo --helpЭнэ алдаа нь ямар ч идэвхтэй Rust хэрэгслийн сүлжээг байрлуулсангүй гэдгийг баталгаажуулдаг. Дараа нь:
$ rustup toolchain install stablePython хэрэгслийн сүлжээний асуудлыг шийдвэрлэх
Хэрэв та Python Дугуйны багц нь Python үйлчлүүлэгчийн тохируулалт, "Iroha" гэх мэт алдаатай байж болно._Питон-*.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