- PVSM.RU - https://www.pvsm.ru -

Установка Rust на Windows

Вы можете установить Rust, просто скачав инсталлятор и дважды кликнув по нему. Хотя разработчикам, имеющим дело с более сложными инструментами, или тем, кому нужно собирать "небезопасные" (unsafe) C/C++ библиотеки из исходников, предстоит сделать немного больше. Тем не менее, для здравомыслящего человека здесь нет ничего невозможного.

Во время всего этого процесса следите за тем, что вы устанавливаете правильную версию библиотек: в данный момент для MSVC доступна только 64-битная версия Rust. Вы будете то и дело получать странные ошибки, если попробуете использовать 32-битные библиотеки. Поверьте мне.

Повторюсь: если вам нужен компилятор Rust, идите на официальный сайт [1] и жмите "Install". Если же вы планируете работать с нативными C/C++ библиотеками, читайте дальше!

Rust на Windows – что нам понадобится

Компилятор С

Вы можете выбрать GCC, но это повлечёт за собой использование MSYS и MinGW. Пытаясь настроить MSYS2 для Windows, я обжигался несчётное количество раз, так что теперь предпочитаю избегать этот вариант. Вместо этого я использую компилятор Microsoft. Вы можете получить MSVC по одной из этих ссылок:

Оба варианта хороши – Microsoft сделали Visual C++ бесплатным для разработки открытого программного обеспечения. По крайней мере, он был таким на момент написания этой статьи (2016-03-22).
Примечание переводчика: Visual Studio Community бесплатна не только для проектов с открытым кодом, но и для индивидуальных разработчиков, академических исследований, обучения и небольших компаний. Подробнее [4].

Перейдем к трудной части: вам потребуется заставить магию Visual C++ работать в вашем окружении. Для облегчения этой задачи в Visual C++ существует много переменных окружения и сложных установочных скриптов. Можно использовать командную оболочку, которую Microsoft предоставляет вместе с VS and VC++ (Visual C++ 2015 x64 Native Build Tools Command Prompt). Всё, о чём речь пойдёт ниже, будет работать, если вы выберете эту опцию.

Я применяю cmder, который использует PowerShell, поэтому, чтобы заставить инструменты командной строки работать в моем окружении, мне пришлось преодолеть еще одну преграду. Я выбрал рецепт Retain Changes to Environment Variables Set by a Batch File [5] из книги PowerShell Cookbook [6] (вам обязательно нужно купить ее, если вам нравится этот пример кода, в ней вы найдете много строк кода на PowerShell, который не придется писать самостоятельно). В любом случае, после сохранения рецепта в файл я добавил в мой PowerShell профиль следующее:

Invoke-CmdScript.ps1 "C:Program Files (x86)Microsoft Visual C++ Build Toolsvcbuildtools.bat" amd64

OpenSSL

Если вы хотите использовать Rust в качестве серверного языка для веб-разработки, вам понадобится OpenSSL. Win32 OpenSSL Installation Project [7] поддерживает несколько инсталляторов. Перейдите по ссылке и пролистайте до “Download Win32 OpenSSL”. Выберите 64-битную версию OpenSSL (не Light). Установите ее.

Вам покажут сообщение "Поддержите нас, ведь мы работаем бесплатно". Я поддержал. Если вы продолжите использовать OpenSSL для Windows, возможно, вам тоже стоит пожертвовать деньги. Поставьте себе напоминание, и, если через месяц вы ещё будете работать с этой библиотекой, сделайте это.

Переменные окружения OpenSSL

Убедитесь в том, что компилятор видит OpenSSL. Вам следует настроить следующие переменные окружения:

DEP_OPENSSL_INCLUDE=C:OpenSSL-Win64include
OPENSSL_INCLUDE_DIR=C:OpenSSL-Win64include
OPENSSL_LIB_DIR=C:OpenSSL-Win64libVC
OPENSSL_LIBS=ssleay32MT:libeay32MT

Очевидно, это подразумевает, что вы поместили OpenSSL в стандартную директорию установки C:OpenSSL-Win64.

Freetype

C инструкциями по настройке Freetype для работы c MSVC вы можете ознакомиться здесь [8].

Установка Rust на Windows

Можно пойти двумя путями: используя инсталлятор Rust или multirust [9].

Инсталлятор Rust

Зайдите на страницу загрузки [10] Rust и скачайте инсталлятор MSVC ABI.

Так вы получите одну из версий Rust (например, 1.7.0). Когда появятся новые версии языка, вам придется решить, хотите ли вы обновиться и, как следствие, поменять одну или несколько переменных окружения. Это несложно, но, поскольку релизы Rust выпускаются раз в шесть недель, возможно, вас немного утомят частые изменения языка.

Rustup

Rustup – это инструмент для поддержания нескольких версий Rust на одной операционной системе. Благодаря ему вы сможете использовать различные версии Rust для разных проектов и даже потестировать новые возможности в ночной версии!

Теперь посетите сайт rustup.rs [11] и скачайте текущий инсталлятор. После загрузки дважды кликните по нему и подождите. Когда она завершится, откройте новый терминал и запустите rustup default stable-x86_64-stable.

Нам нужно убедиться, что переменная окружения установлена. Думаю, вы знаете, где ее искать. Проверьте PATH, чтобы увидеть, был ли добавлен путь ~/.cargo/bin. Я использую ~ для обозначения вашей домашней директории. У себя на компьютере я проверяю, есть ли C:Usersjeremiah.cargobin в PATH. Если нет, добавьте его.

Дополнительные инструменты Rust

На этом этапе у нас уже установлена рабочая версия Rust. Мы можем начать использовать rustc и cargo для разработки программного обеспечения. Однако, мы можем установить дополнительные инструменты, чтобы облегчить себе работу.

Исходный код Rust

Вы можете с ним ознакомиться, но сейчас мы просто хотим использовать его для некоторых дополнительных инструментов. Зайдите на страницу загрузок [10] Rust и скачайте исходники. Это файл .tar.gz, так что вам может понадобиться что-то вроде 7-zip. Выбор конкретной программы я оставлю за вами.

Загрузив исходный код, извлеките его в директорию, которую вы случайно не удалите. Я выбрал src в моей домашней директории и могу найти исходники Rust так: C:usersjeremiahsrcrust-1.7.0. Снова откройте переменные окружения, создайте новую переменную RUST_SRC_PATH и запишите в неё путь к исходному коду Rust.

Racer

Racer [12] обеспечивает автодополнение кода в инструментах разработки программного обеспечения. Он может быть весьма полезным, если вы изучаете язык или разбираете код, пытаясь понять, какие параметры принимает функция. Если вы добавили .cargobin в PATH и задали переменную окружения RUST_SRC_PATH, установить Racer будет очень легко. Просто запустите cargo install racer и подождите.

rustfmt

rustfmt форматирует код на Rust. Он вам здорово поможет в работе. Не то чтобы вы не могли сами правильно форматировать код, но эта программа следит за соблюдением единого стиля. Спорить о форматировании кода не стоит. Избегайте этого.

cargo install rustfmt

ГОТОВО!

Редактор

Лично я использую Visual Studio Code [13]. Я слышал, что Sublime Text с недавних пор хорошо работает с Rust. Также этот язык поддерживается в Atom и других редакторах.

На странице Racer [12] вы можете найти ссылки на инструкции по работе с разными редакторами. В Visual Studio Code я установил только расширения Rusty Code [14] и vsc-rustfmt [15].

Примечание переводчика: мне Visual Studio Code не очень понравилась, так что было много надежд на расширение VisualRust [16] для Visual Studio. К сожалению, на данный момент это расширение не поддерживает [17] Cargo.

Как-то сложно!

Вам может показаться, что этот путь слишком длинный, но пройти его довольно легко и, честно говоря, это быстрее, чем ждать, пока установится Visual Studio и 90 других зависимостей.

Автор: DarkEld3r

Источник [18]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/116915

Ссылки в тексте:

[1] официальный сайт: https://www.rust-lang.org

[2] Microsoft Visual C++ Build Tools 2015 Technical Preview (Microsoft Visual C++ Build Tools 2015 Technical Preview): https://www.visualstudio.com/en-us/downloads/update2-prereleases#AdditionalPageSections_66

[3] Visual Studio 2015 (Visual Studio 2015): https://www.visualstudio.com/downloads

[4] Подробнее: https://www.visualstudio.com/support/legal/mt171547

[5] Retain Changes to Environment Variables Set by a Batch File: http://www.powershellcookbook.com/recipe/WqHr/program-retain-changes-to-environment-variables-set-by-a-batch-file

[6] PowerShell Cookbook: http://www.powershellcookbook.com/

[7] Win32 OpenSSL Installation Project: http://slproweb.com/products/Win32OpenSSL.html

[8] здесь: https://github.com/PistonDevelopers/freetype-sys#-pc-windows-msvc

[9] multirust: https://github.com/brson/multirust

[10] страницу загрузки: https://www.rust-lang.org/downloads.html

[11] rustup.rs: https://www.rustup.rs/

[12] Racer: https://github.com/phildawes/racer

[13] Visual Studio Code: https://code.visualstudio.com/

[14] Rusty Code: https://github.com/saviorisdead/RustyCode

[15] vsc-rustfmt: https://github.com/Connorcpu/vsc-rustfmt

[16] VisualRust: https://github.com/PistonDevelopers/VisualRust

[17] не поддерживает: https://github.com/PistonDevelopers/VisualRust/issues/3

[18] Источник: https://habrahabr.ru/post/280790/