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. ამჟამინდელი upstream სამუშაო სივრცე აცხადებს rust-version = "1.92" და pins ინსტრუმენტების ჯაჭვის არხი in 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 ინსტრუმენტების ჯაჭვი, მაგრამ ის არ არის დაყენებული როგორც დეფოლტი. Run:

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> (გარდა კუთხის brackets რა თქმა უნდა):

bash
$ rustup remove <toolchain>

ინსტრუმენტების ჯაჭვების ამოღების შემდეგ, ამ ბრძანებას უნდა გამოუცხადოს ბრძანება არ იპოვეს შეცდომა:

bash
$ cargo --help

ეს შეცდომა ადასტურებს, რომ აქტიური Rust ინსტრუმენტების ჯაჭვი არ არის დამონტაჟებული. შემდეგ ამოქმედეთ:

bash
$ 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