Перейти до змісту

Розширене: Компіляція з вихідного коду (необов'язково)

Після встановлення Rust ви можете скомпілювати з вихідного коду за допомогою наступної команди:

Примітка: Для компіляції зазвичай потрібна остання версія Rust.

cargo build --release

Ви можете завантажити останню нестабільну версію з гілки main або останню стабільну версію зі сторінки Releases.

Обов'язково періодично оновлюйте Rust за допомогою:

rustup update stable

Скомпільований бінарний файл буде виведено в папку ./target/release.

Оновлення пакетів Rust

Ви можете оновити до останніх крейтів Rust перед компіляцією:

cargo update

Будь ласка, повідомте нам, якщо щось зламається після оновлення.

Примітки щодо компіляції на macOS

Якщо ви отримуєте помилки компіляції, пов'язані з openssl, вам потрібно встановити Homebrew, а потім встановити наступні пакети:

brew install pkg-config
brew install openssl

Примітки щодо компіляції на Linux

Якщо ви отримуєте помилки компіляції, пов'язані з openssl, вам потрібно встановити наступний пакет.

Дистрибутиви на основі Ubuntu:

sudo apt install libssl-dev

Дистрибутиви на основі Fedora:

sudo yum install openssl-devel

Крос-компіляція бінарних файлів Linux Intel MUSL

Для Linux ми рекомендуємо компілювати бінарні файли GNU, як описано вище, але ви можете захотіти створити бінарні файли MUSL для кращої переносимості. У такому випадку спочатку встановіть ціль:

rustup install stable-x86_64-unknown-linux-musl
rustup target add x86_64-unknown-linux-musl

Скомпілюйте за допомогою:

cargo build --release --target=x86_64-unknown-linux-musl

Попередження: Обов'язково запускайте rustup install stable-x86_64-unknown-linux-musl щоразу, коли з'являється нова стабільна версія Rust, оскільки rustup update stable не оновлює компілятор для крос-компіляції, і ви можете отримати помилки збірки.

Бінарний файл MUSL буде створено в каталозі ./target/x86_64-unknown-linux-musl/release/. Бінарні файли MUSL приблизно на 15% повільніші за бінарні файли GNU, проте вони більш переносимі між різними версіями та дистрибутивами linux.

Примітка: Бінарні файли MUSL для систем Linux на основі ARM, ймовірно, не працюватимуть коректно.