Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ინსტალაცია

პირველი ნაბიჯი Rust-ის დაინსტალირებაა. Rust-ს ჩამოვტვირთავთ rustup-ის მეშვეობით — ეს არის Command Line ინსტრუმენტი Rust-ის ვერსიებისა და მასთან დაკავშირებული ინსტრუმენტების მართვისთვის. ჩამოსატვირთად დაგჭირდებათ ინტერნეტ-კავშირი.

შენიშვნა: თუ რაიმე მიზეზით არ გსურთ rustup-ის გამოყენება, გთხოვთ იხილოთ Rust-ის ინსტალაციის სხვა მეთოდების გვერდი დამატებითი ოფციებისთვის.

შემდეგი ნაბიჯები დააინსტალირებს Rust-ის კომპილატორის უახლეს სტაბილურ ვერსიას. Rust-ის სტაბილურობის გარანტიები უზრუნველყოფს იმას, რომ წიგნში მოყვანილი ყველა მაგალითი, რომელიც კომპილირდება, გააგრძელებს კომპილაციას Rust-ის უფრო ახალ ვერსიებზეც. გამონატანი (output) შეიძლება ოდნავ განსხვავდებოდეს ვერსიებს შორის, რადგან Rust-ი ხშირად აუმჯობესებს შეცდომების შეტყობინებებსა და გაფრთხილებებს (warnings). სხვა სიტყვებით რომ ვთქვათ, Rust-ის ნებისმიერი უფრო ახალი, სტაბილური ვერსია, რომელსაც ამ ნაბიჯებით დააინსტალირებთ, იმუშავებს ისე, როგორც მოსალოდნელია ამ წიგნის შინაარსთან.

Command Line ნოტაცია

ამ თავში და მთელ წიგნში, ჩვენ ვანახებთ ტერმინალში გამოყენებულ ზოგად ბრძანებებს. სტრიქონები, რომლებიც ტერმინალში უნდა შეიყვანოთ, იწყება $ სიმბოლოთი. $ სიმბოლოს აკრეფა არ გჭირდებათ; ის არის Command Line prompt-ი, რომელიც თითოეული ბრძანების დასაწყისს მიუთითებს. სტრიქონები, რომლებიც არ იწყება $-ით, ჩვეულებრივ აჩვენებს წინა ბრძანების გამონატანს. გარდა ამისა, PowerShell-ის სპეციფიკური მაგალითები $-ის ნაცვლად გამოიყენებს >-ს.

rustup-ის ინსტალაცია Linux-ზე ან macOS-ზე

თუ იყენებთ Linux-ს ან macOS-ს, გახსენით ტერმინალი და შეიყვანეთ შემდეგი ბრძანება:

$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

ბრძანება ჩამოტვირთავს სკრიპტს და დაიწყებს rustup ინსტრუმენტის ინსტალაციას, რომელიც დააინსტალირებს Rust-ის უახლეს სტაბილურ ვერსიას. შეიძლება მოგეთხოვოთ თქვენი პაროლი. თუ ინსტალაცია წარმატებით დასრულდა, გამოჩნდება შემდეგი სტრიქონი:

Rust is installed now. Great!

ასევე დაგჭირდებათ ლინკერი (linker) — პროგრამა, რომელსაც Rust-ი იყენებს თავისი დაკომპილირებული გამონატანის ერთ ფაილში გასაერთიანებლად. სავარაუდოა, რომ ის უკვე გაქვთ. თუ მიიღებთ ლინკერის შეცდომებს, უნდა დააინსტალიროთ C კომპილატორი, რომელიც ჩვეულებრივ მოიცავს ლინკერსაც. C კომპილატორი ასევე სასარგებლოა, რადგან Rust-ის ზოგიერთი გავრცელებული პაკეტი დამოკიდებულია C კოდზე და დასჭირდება C კომპილატორი.

macOS-ზე C კომპილატორის მიღება შეგიძლიათ შემდეგი ბრძანების გაშვებით:

$ xcode-select --install

Linux-ის მომხმარებლებმა, როგორც წესი, უნდა დააინსტალირონ GCC ან Clang, თავიანთი დისტრიბუციის დოკუმენტაციის შესაბამისად. მაგალითად, თუ იყენებთ Ubuntu-ს, შეგიძლიათ დააინსტალიროთ build-essential პაკეტი.

rustup-ის ინსტალაცია Windows-ზე

Windows-ზე გადადით მისამართზე https://www.rust-lang.org/tools/install და მიჰყევით Rust-ის ინსტალაციის ინსტრუქციას. ინსტალაციის გარკვეულ ეტაპზე მოგეთხოვებათ Visual Studio-ს ინსტალაცია. ეს უზრუნველყოფს ლინკერსა და ნატიურ ბიბლიოთეკებს, რომლებიც საჭიროა პროგრამების კომპილაციისთვის. თუ გჭირდებათ დამატებითი დახმარება ამ ნაბიჯისთვის, იხილეთ https://rust-lang.github.io/rustup/installation/windows-msvc.html.

ამ წიგნის დანარჩენი ნაწილი იყენებს ბრძანებებს, რომლებიც მუშაობს როგორც cmd.exe-ში, ასევე PowerShell-ში. თუ იქნება კონკრეტული განსხვავებები, ავხსნით რომლის გამოყენებაა საჭირო.

პრობლემების აღმოფხვრა (Troubleshooting)

იმის შესამოწმებლად, სწორად გაქვთ თუ არა დაინსტალირებული Rust-ი, გახსენით ტერმინალი (shell) და შეიყვანეთ ეს სტრიქონი:

$ rustc --version

თქვენ უნდა დაინახოთ უახლესი სტაბილური გამოშვებული ვერსიის ნომერი, commit hash და commit თარიღი შემდეგ ფორმატში:

rustc x.y.z (abcabcabc yyyy-mm-dd)

თუ ხედავთ ამ ინფორმაციას, Rust-ი წარმატებით დაგიინსტალირებიათ! თუ ვერ ხედავთ ამ ინფორმაციას, შეამოწმეთ, არის თუ არა Rust-ი თქვენს %PATH% სისტემურ ცვლადში შემდეგნაირად.

Windows CMD-ში გამოიყენეთ:

> echo %PATH%

PowerShell-ში გამოიყენეთ:

> echo $env:Path

Linux-სა და macOS-ზე გამოიყენეთ:

$ echo $PATH

თუ ყველაფერი სწორია და Rust-ი მაინც არ მუშაობს, არის რამდენიმე ადგილი, სადაც შეგიძლიათ მიიღოთ დახმარება. გაიგეთ, როგორ დაუკავშირდეთ სხვა Rustacean-ებს (ასე ვუწოდებთ საკუთარ თავს) საზოგადოების გვერდზე.

განახლება და დეინსტალაცია

მას შემდეგ, რაც Rust-ი დაინსტალირდება rustup-ის მეშვეობით, ახალ გამოშვებულ ვერსიაზე განახლება მარტივია. თქვენი ტერმინალიდან გაუშვით შემდეგი განახლების სკრიპტი:

$ rustup update

Rust-ისა და rustup-ის დეინსტალაციისთვის, გაუშვით შემდეგი დეინსტალაციის სკრიპტი თქვენი ტერმინალიდან:

$ rustup self uninstall

ლოკალური დოკუმენტაციის წაკითხვა

Rust-ის ინსტალაცია ასევე მოიცავს დოკუმენტაციის ლოკალურ ასლს, რათა შეძლოთ მისი ოფლაინში წაკითხვა. გაუშვით rustup doc, რათა გახსნათ ლოკალური დოკუმენტაცია თქვენს ბრაუზერში.

ნებისმიერ დროს, როდესაც ტიპი ან ფუნქცია მოწოდებულია სტანდარტული ბიბლიოთეკის მიერ და არ ხართ დარწმუნებული, რას აკეთებს ის ან როგორ გამოიყენოთ, გამოიყენეთ პროგრამული ინტერფეისის (API) დოკუმენტაცია მის გასაგებად!

ტექსტური რედაქტორებისა და IDE-ების გამოყენება

ეს წიგნი არ აკეთებს დაშვებებს იმის შესახებ, თუ რომელ ინსტრუმენტებს იყენებთ Rust-ის კოდის დასაწერად. თითქმის ნებისმიერი ტექსტური რედაქტორი გაართმევს თავს ამ ამოცანას! თუმცა, ბევრ ტექსტურ რედაქტორსა და ინტეგრირებულ დეველოპერულ გარემოს (IDE) აქვს Rust-ის ჩაშენებული მხარდაჭერა. თქვენ ყოველთვის შეგიძლიათ იპოვოთ მრავალი რედაქტორისა და IDE-ს საკმაოდ განახლებული სია Rust-ის ვებ-საიტის ინსტრუმენტების გვერდზე.

ამ წიგნთან ოფლაინ რეჟიმში მუშაობა

რამდენიმე მაგალითში ჩვენ გამოვიყენებთ Rust-ის პაკეტებს სტანდარტული ბიბლიოთეკის მიღმა. ამ მაგალითებზე სამუშაოდ, დაგჭირდებათ ინტერნეტ-კავშირი ან ამ დამოკიდებულებების წინასწარ ჩამოტვირთვა. დამოკიდებულებების წინასწარ ჩამოსატვირთად, შეგიძლიათ გაუშვათ შემდეგი ბრძანებები. (მოგვიანებით დეტალურად ავხსნით, რა არის cargo და რას აკეთებს თითოეული ეს ბრძანება.)

$ cargo new get-dependencies
$ cd get-dependencies
$ cargo add rand@0.10.1 trpl@0.2.0

ეს დააქეშებს (cache) ამ პაკეტების ჩამოტვირთვებს, ასე რომ მოგვიანებით მათი ჩამოტვირთვა არ დაგჭირდებათ. ამ ბრძანების გაშვების შემდეგ, get-dependencies საქაღალდის შენარჩუნება აღარ გჭირდებათ. თუ გაუშვით ეს ბრძანება, შეგიძლიათ გამოიყენოთ --offline დროშა (flag) cargo-ს ყველა ბრძანებასთან ერთად წიგნის დანარჩენ ნაწილში, რათა გამოიყენოთ ეს ქეშირებული ვერსიები ქსელის გამოყენების მცდელობის ნაცვლად.