Skip to content

Oʻrnatish muammolarini hal qilish

Ushbu bo'limda Iroha 3 o'rnatish uchun muammolarni hal qilish maslahatlari mavjud. Agar siz duch kelayotgan muammo bu erda tasvirlanmagan bo'lsa, biz bilan Telegram orqali bog'lanishingiz mumkin.

Tezkor tekshirishlar

Ko'pgina o'rnatish muvaffaqiyatsizliklari to'rtta joydan kelib chiqadi:

  • Rust asbob-uskunalar zanjirini yuqori tomonga ishlaydigan ish maydonida o'rnatilgan versiyadan kattaroqroq
  • cargo yoki rustc o'zgartirilgan qurilmalarga o'xshash rustup
  • pkg-config yoki CMake kabi mavjud bo'lmagan tizim qurilishi vositalari
  • manbai o'zgartirilganidan so'ng oldindan hosil bo'lgan qisqartmalar yoki mahalliy qurilmalar

Iroha manbai hisobidan quyidagilardan boshlanadi:

bash
rustup show
cargo --version
rustc --version
cargo metadata --no-deps

Agar cargo metadata muvaffaqiyatsiz tugasa, pnpm refresh:iroha --source /path/to/iroha ishga tushirishdan oldin mahalliy asbob-uskunalar zanjirini tuzating, chunki yangilanish joriy ma'lumotlar modeli sxemasini yaratish uchun Kagami ni ilova qilishi mumkin.

Muammoni hal qilish Rust asboblar to'plami

Ba'zan, narsalar rejalashtirilganiday bo'lmaydi. Ayniqsa agar siz rust bir muncha vaqt oldin tizimingizda, lekin yangilanmagan. Python: XKCD bu qanday ko'rinishi mumkinligi haqida mashhur misol bor:

Python atrof muhitda muammolarni hal qilish komiks

Rust versiyasini tekshiring

Sizning va bizning aqlimizni saqlab qolish manfaatini ko'zlab, ishonch hosil qilingki, sizda to'g'ri versiyasi cargo to'g'ri versiyasi bilan juftlangan rustc. Joriy yuqori darajadagi ish o ' rinlari rust-version = "1.92" va asbob-uskunalar zanjirini oʻrnatadi rust-toolchain.toml. Tarjimalarni ko'rsatish uchun,

bash
$ cargo -V
$ cargo 1.93.1 (...)

va keyin

bash
$ rustc --version
$ rustc 1.93.1 (...)

Agar sizda yuqori versiyalar bo'lsa, yaxshi. Agar sizda pastroq versiyalar bo'lsa , uni yangilash uchun quyidagi buyruqni bajarishingiz mumkin:

bash
$ rustup toolchain update stable

Oʻrnatish joyini tekshirish

Agar siz kamroq versiya raqamlarini olsangiz va vositalar zanjirini yangilagan bo'lsangiz va u ishlamagan bo'lsa... aytsak, bu umumiy muammo, lekin uning umumiy yechimlari yo'q.

Birinchidan, siz foydalanmoqchi bo'lgan versiya qaysi joyda o'rnatilganini aniqlang:

bash
$ rustup which rustc
$ rustup which cargo

Asboblar zanjirlarining foydalanuvchi o'rnatishlari odatda ~/.rustup/toolchains/stable-*/bin/. Agar shunday bo'lsa,

bash
$ rustup toolchain update stable

va bu sizning muammolaringizni hal qilishi kerak.

Rust andoza versiyasini tekshiring

Boshqa variant shundaki, sizda stable asboblar zanjiri mavjud, ammo u andoza sifatida belgilanmagan.

bash
$ rustup default stable

nightly versiyasini o'rnatish yoki keyinchalik uni bekor qilmasdan aniq Rust versiyasini sozlash ushbu muammoga sabab bo'lishi mumkin.

Boshqa Rust versiyalari mavjudligini tekshirish

Turmush o'rtog'ining muammolarini hal qilishda davom etayotganimizda, biz shell aliaslari bo'lishi mumkin:

bash
$ type rustc
$ type cargo

Agar bular rustup which * ishga tushirganingizda ko'rgan joylardan boshqa joylarga ishora qilsa, unda sizda muammo bor. Shuni yodda tutingki, bunday aliaslarni qo'shish yetarli emas:

bash
$ alias rustc "~/.rustup/toolchains/stable-*/bin/rustc"
$ alias cargo "~/.rustup/toolchains/stable-*/bin/cargo"

Ichki mantiqa hali ham shell aliaslarini qanday tuzatishingizdan qat'iy nazar buzilishi mumkin.

Eng sodda yechim - foydalanmagan versiyalarni olib tashlashdir.

Biroq, bu aytish osonroq, chunki u rustup ning barcha o'rnatilgan va siz uchun mavjud bo'lgan versiyalarini kuzatib borishni anglatadi. Odatda, faqat ikkita: Ushbu qo'llanma boshida buyruqni ishga tushirganingizda sizning uy jildingizdagi standart joyga o'rnatilgan va tizim paketi menejeri versiyasi. Ilk qism uchun (Linux) tarqatish qo'llanmasiga murojaat qiling, (apt remove rust).

bash
$ rustup toolchain list

Va keyin, har bir <toolchain> uchun (bo'sh burchaklarsiz, albatta):

bash
$ rustup remove <toolchain>

Asboblar zanjirlarini olib tashlaganidan so'ng, bu buyruq topilmagan buyruq xatosi haqida xabar berishi kerak:

bash
$ cargo --help

Ushbu xato Rust aktiv asboblar zanjirini o'rnatilmaganligini tasdiqlaydi. Keyin:

bash
$ rustup toolchain install stable

Python asboblar zanjirini xatolarga yo'l qo'yish

Oʻrnatilganda Python Pipoda ishlatiladigan velosiped paketlari Python mijozlarni oʻrnatish, siz "iroha" kabi xatoga duch kelishingiz mumkin_Piton-*.whl bu platformada qo'llab-quvvatlanadigan velosiped emas".

Ushbu xato pip eskirganligini anglatadi, shuning uchun uni yangilash kerak. Birinchidan, OS yangilanishlarini tekshirish va tizimni yangilash tavsiya etiladi.

Agar bu ishlamasa, foydalanuvchi direktoriyangiz uchun pip ni yangilashni sinab ko'rishingiz mumkin.

python -m pip install --upgrade pip

O'zingizning uy direktoriyangizda pip o'rnatilganligiga ishonch hosil qiling. Buni qilish uchun whereis pipni ishga tushiring va /home/username/.local/bin/pip yo'llar orasida bo'ladimi-yo'qligini tekshiring. Agar yo'q bo'lsa, shellingizning PATH o'zgaruvchini yangilang.

Agar muammo davom etsa, iltimos bizga murojaat qilib, natijalarni xabar qiling.

python --version
python3 --version
pip --version
pip3 --version