Как установить язык программирования Rust в Linux

Это подробное руководство содержит краткое введение в язык программирования Rust, а также четкие инструкции по установке Rust с помощью rustup в Linux. В нем также рассказывается об обновлении Rust, создании и запуске примера программы на Rust и, наконец, об удалении Rust из системы Linux.

Введение в язык программирования Rust

Rust, также известный как rust-lang, – это современный, быстрый, кроссплатформенный язык системного программирования с открытым исходным кодом, призванный заменить C, предлагая при этом высокоуровневые абстракции, привлекательные для разработчиков, знакомых с C# и Java.

Rust обладает множеством возможностей, включая:

  • Незатратные абстракции: Абстракции Rust не несут накладных расходов во время выполнения, обеспечивая производительность, сравнимую с нативным кодом.
  • Семантика перемещений: Модель владения в Rust использует семантику перемещения для эффективной передачи прав собственности на данные между переменными, что устраняет необходимость в ручном управлении памятью.
  • Гарантированная безопасность памяти: Сильная система типов и модель владения в Rust обеспечивают безопасность памяти, предотвращая такие связанные с памятью ошибки, как висячие указатели и утечки памяти.
  • Потоки без гонок данных: Система типов и модель владения в Rust также обеспечивают безопасность потоков, предотвращая гонки данных и обеспечивая согласованный доступ к памяти в разных потоках.
  • Обобщения на основе признаков: Возможности родового программирования в Rust основаны на трейтах, что позволяет создавать гибкий и многократно используемый код, работающий с различными типами данных.
  • Сопоставление шаблонов: Синтаксис сопоставления шаблонов в Rust позволяет создавать лаконичный и выразительный код, особенно при работе со структурами данных, такими как перечисления и кортежи.
  • Вывод типа: Система вывода типов в Rust автоматически определяет типы переменных и выражений, уменьшая необходимость в явном объявлении типов.
  • Минимальное время выполнения: Минимальное время выполнения Rust устраняет накладные расходы на сборку мусора, что еще больше повышает его производительность.
  • Эффективные привязки к C: Rust легко интегрируется с кодом на языке C, обеспечивая взаимодействие с существующими библиотеками на языке C.

Rust активно используется в производстве такими известными организациями, как Canonical, Chef, Coursera, CoreOS, Dropbox Mozilla и NPM.

Установка языка программирования Rust в Linux

Язык Rust может быть установлен несколькими различными способами. Официально рекомендуемый способ установки Rust – использование Rustup, официальной программы установки инструментальной цепочки Rust.

Установка Rust с помощью rustup довольно проста. Достаточно открыть Терминал и выполнить следующую команду:

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

или

curl https://sh.rustup.rs -sSf | sh

Наберите 1 (цифра один), чтобы продолжить установку со значениями по умолчанию. Или введите 2, чтобы настроить установку. Я использую значения по умолчанию, поэтому набрал 1.

Пример вывода:

info: downloading installer
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
  /home/ostechnix/.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
  /home/ostechnix/.cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:
  /home/ostechnix/.cargo/bin
This path will then be added to your PATH environment variable by
modifying the profile files located at:
  /home/ostechnix/.profile
  /home/ostechnix/.bashrc
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
   default host triple: x86_64-unknown-linux-gnu
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>1
info: profile set to 'default'
info: default host triple is x86_64-unknown-linux-gnu
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: latest update on 2023-11-16, rust version 1.74.0 (79e9716c9 2023-11-13)
info: downloading component 'cargo'
  8.2 MiB /   8.2 MiB (100 %)   3.8 MiB/s in  2s ETA:  0s
info: downloading component 'clippy'
[...]
 58.7 MiB /  58.7 MiB (100 %)  16.1 MiB/s in  4s ETA:  0s
info: installing component 'rustfmt'
info: default toolchain set to 'stable-x86_64-unknown-linux-gnu'
  stable-x86_64-unknown-linux-gnu installed - rustc 1.74.0 (79e9716c9 2023-11-13)
Rust is installed now. Great!
To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).
To configure your current shell, run:
source "$HOME/.cargo/env"

Как видно из приведенного выше вывода, сценарий установки rustup загружает и устанавливает официальный компилятор для языка программирования Rust, а также менеджер пакетов Cargo. Он также добавляет команды cargo, rustc, rustup и другие в каталог bin, расположенный по адресу ~/.cargo/bin. Кроме того, скрипт изменяет файл профиля, расположенный по адресу ~/.profile, чтобы добавить каталог bin программы Cargo в переменную окружения PATH.

Наконец, выполните следующую команду для настройки текущей оболочки:

source $HOME/.cargo/env

Чтобы проверить установленную версию, выполните:

rustc --version
rustc 1.74.0 (79e9716c9 2023-11-13)

Мы только что установили последнюю версию Rust. Давайте проверим, работает ли она, создав пример программы на Rust.

Создание примера программы на Rust

Сделайте основной каталог проекта, в который будет помещен весь ваш код на Rust. Этот каталог является родительским для всех наших программ на языке Rust.

Например, я собираюсь создать основной каталог проекта с именем my_rust_projects в моей $HOME директории.

mkdir ~/my_rust_projects

Перейдите в эту директорию:

cd ~/my_rust_projects

Следующее создание бинарного пакета „hello_world“ с помощью Cargo, как показано ниже.

cargo new hello_world

Приведенная выше команда создаст новый каталог с именем «hello_world» со всеми необходимыми файлами в нем.

Зайдите в этот каталог:

cd hello_world

И наконец, запустите программу hello_world с помощью команды:

cargo run

Эта команда компилирует и запускает вашу программу. В терминале должно появиться сообщение «Hello, world!».

  • Пример вывода:*
  Compiling hello_world v0.1.0 (/home/ostechnix/my_rust_projects/hello_world)
    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
     Running `target/debug/hello_world`
Hello, world!

Это рекомендуемый способ использования Cargo.

В качестве альтернативы можно вручную создать каталог проекта, записать код в текстовый файл и, наконец, скомпилировать и запустить его, как показано ниже.

Создадим каталог проекта:

mkdir hello_world

Код в этом каталоге:

cd hello_world

Напишите свою первую программу на языке Rust, используя любые текстовые или графические редакторы Файлы rust всегда заканчиваются расширением .rs.

Чтобы написать пример программы rust, например ostechnix.rs, сделайте:

vi ostechnix.rs

Копируйте и вставьте в него следующий код.

fn main() {
    println!("Hello, Welcome To OSTechNix blog!");
}

Нажмите клавишу ESC и введите :wq для сохранения и выхода из файла.

Далее выполните следующую команду для компиляции rust-кода.

rustc ostechnix.rs

Вышеприведенная команда создаст исполняемую rust-программу с именем ostechnix в текущем каталоге.

ls
ostechnix ostechnix.rs

Запустите программу Rust командой:

./ostechnix 
Hello, Welcome To OSTechNix blog!

It’s working!!

Устранение неполадок в Rust

Иногда при компиляции программ с помощью Cargo можно получить сообщение «error: linker cc not found «. Чтобы исправить это, установите компилятор языка Си, например GCC, как описано в следующей ссылке.

Включить завершение Tab

Rustup поддерживает завершение tab для популярных оболочек, таких как Bash, Fish, Zsh и Powershell.

Чтобы включить завершение Tab для Bash, выполните следующие действия:

mkdir -p ~/.local/share/bash-completion/completions
rustup completions bash >>~/.local/share/bash-completion/completions/rustup

На Fish:

mkdir -p ~/.config/fish/completions
rustup completions fish >~/.config/fish/completions/rustup.fish

На Zsh:

mkdir ~/.zfunc

Затем добавьте следующие строки в файл „.zshrc» непосредственно перед „compinit“:

fpath+=~/.zfunc

Теперь можно установить скрипт завершения с помощью следующей команды:

rustup completions zsh >~/.zfunc/_rustup

После включения функции завершения tab необходимо выйти из системы и снова войти в сеанс оболочки, чтобы изменения вступили в силу.

Обновление Rust

Чтобы обновить rust при выходе новой версии, выполните:

rustup update
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: latest update on 2018-03-29, rust version 1.25.0 (84203cac6 2018-03-25)
info: downloading component 'rustc'
info: downloading component 'rust-std'
info: downloading component 'cargo'
info: downloading component 'rust-docs'
info: removing component 'rustc'
info: removing component 'rust-std'
info: removing component 'cargo'
info: removing component 'rust-docs'
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'
info: checking for self-updates
stable-x86_64-unknown-linux-gnu updated - rustc 1.25.0 (84203cac6 2018-03-25)

Эта команда также проверяет наличие обновлений для rustup и автоматически устанавливает последнюю версию.

Если вы хотите вручную проверить наличие обновлений и установить последнюю версию rustup без обновления установленных цепочек инструментов, введите:

rustup self update

Деинсталляция Rust

Вы можете удалить язык Rust в любое время с помощью команды:

rustup self uninstall

Эта команда удалит Rust из вашей системы, и все вышеуказанные изменения будут возвращены.

Thanks for hacking in Rust!
This will uninstall all Rust toolchains and data, and remove $HOME/.cargo/bin 
from your PATH environment variable.
Continue? (y/N) y
info: removing rustup home
info: removing cargo home
info: removing rustup binaries
info: rustup is uninstalled

И наконец, удалите родительский каталог вашего проекта Rust.

rm -fr ~/my_rust_projects

Заключение

Ну вот, на этом все. Теперь вы знаете, как установить Rust с помощью rustup, как обновить его, создать и запустить пример rust-программы и, наконец, как удалить Rust из вашей системы. Надеюсь, это было полезно.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен ostechnix.com

Комментарии (0)