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