Skip to content

Құрылғыларды орнату мәселесі

Бұл бөлімде Iroha 3 орнату үшін қателерді шешу кеңестері ұсынылады. Егер сіз кездесетін мәселе осы жерде сипатталмаған болса, бізбен байланысыңыз Telegram.

Тезірек тексерулер

Көбінесе орнату сәтсіздіктері төрт жердің бірінен:

  • Rust аспаптар тізбегі жоғары ағымындағы жұмыс кеңістігінде бекітілген нұсқадан көне
  • cargo немесе rustc басқа қондырғыға бұзылатын rustup
  • C компиляторы, pkg-config, немесе CMake сияқты жүйе құру құралдары жоқ
  • бастапқы нұсқаларын өзгерткеннен кейін ескірген өрістер немесе жергілікті құрылыс артефактілері

Iroha көзін тексеруден бастап, келесіден бастаңыз:

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

Егер cargo metadata сәтсіздікке ұшыраса, pnpm refresh:iroha --source /path/to/iroha іске қосылғанға дейін жергілікті құралдар тізбекін түзеңіз, өйткені жаңарту ағымдағы деректер үлгісі схемасын құру үшін Kagami шақыра алады.

Қателерді шешу Rust Құралдар тізбегі

Кейде жоспарланғандай болмайды. Әсіресе егер сіз rust жүйеңізде біраз уақыт бұрын, бірақ жаңартылмаған. Python: XKCD Бұл қалай көрінуі мүмкін екенін көрсететін танымал мысал бар:

Python қоршаған ортаның бұзылуын шешу комикс

Rust нұсқасын тексеріңіз

Сіздің де, біздің де ақыл-ойымызды сақтап қалу үшін cargo версиясының дұрыс нұсқасы мен rustc версиясы бар екеніне көз жеткізіңіз. Ағымдағы жоғары ағыстағы жұмыс кеңістігі rust-version = "1.92" деп жариялайды және құралдар тізбекінің арнасын rust-toolchain.toml түрінде тіркейді.

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

содан кейін

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

Егер сіз жоғары нұсқалары бар болса, сіз жақсы. Егер сіз төменгі нұсқалар бар болса, оны жаңарту үшін келесі команданы орындай аласыз:

bash
$ rustup toolchain update stable

Құрылғы орнын тексеру

Егер сіз төмен нұсқалар санын алсаңыз және құралдар тізбегін жаңартсаңыз және ол жұмыс істемесе... айтсақ, бұл жалпы проблема, бірақ жалпы шешім жоқ.

Біріншіден, қолданғыңыз келетін нұсқаның орналасқан жерін анықтауыңыз керек:

bash
$ rustup which rustc
$ rustup which cargo

Құралдар тізбектерінің пайдаланушы орнатулары әдетте ~/.rustup/toolchains/stable-*/bin/ болып табылады.

bash
$ rustup toolchain update stable

және ол сіздің проблемаларыңызды шешеді.

Әдеттегі Rust нұсқасын тексеру

Тағы бір нұсқа - жаңартылған stable құралдар тізбегі бар, бірақ ол әдетті түрде орнатылмайды.

bash
$ rustup default stable

nightly нұсқасын орнату немесе Rust нұсқасын кейіннен қалпына келтірместен орнату осы мәселеге әкелуі мүмкін.

Басқа Rust нұсқалары бар-жоғын тексеріңіз

Түйіш терісін шешуді жалғастыра отырып, біз қос қабықтардың атауларын аламыз:

bash
$ type rustc
$ type cargo

Егер бұл rustup which * орындалған кезде көргеніңізден басқа жерлерге сілтеме берсе, онда проблемаңыз бар. Мынадай аты-жөндерді қосу жеткілікті емес екенін ескеріңіз:

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

Ішкі логика әрдайым бұзылуы мүмкін, қашан да сіз қоқыс атауларыңызды қалай дайындасаңыз да.

Ең қарапайым әдіс - қолданбаған нұсқаларды алып тастау.

Алайда, бұл істеуден гөрі айту оңай, өйткені ол rustup орнатылған және сізге қолжетімді барлық нұсқаларды бақылауды қамтиды. Әдетте, тек екі ғана бар: жүйелік пакет менеджерінің нұсқасы және сіз осы оқулықтың басында команданы орындаған кезде үй қапшығыңыздағы стандартты орынға орнатылған. Алғашқы үшін (Linux) дистрибутивіңіздің нұсқаулығын қараңыз, (apt remove rust).

bash
$ rustup toolchain list

Содан кейін, әрбір <toolchain> үшін (әрине бұрышты бөгеттерсіз):

bash
$ rustup remove <toolchain>

Құралдар тізбектерін алып тастағаннан кейін, бұл команда табылмаған команда қатесі туралы хабарлауға тиіс:

bash
$ cargo --help

Бұл қате белсенді Rust құралдар тізбекінің орнатылғанын растайды. Содан кейін:

bash
$ rustup toolchain install stable

Қателерді жою Python құралдар тізбектері

Құрылғы орнатылған кезде Python Пайдалану кезінде пиппен жасалған дөңгелек пакеті 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