Cài đặt Rust trên Arch Linux

2018

Bài viết được sự cho phép của tác giả Huy Trần

Việc cài đặt Rust trên môi trường Arch Linux khá là đơn giản. pacman có sẵn gói rust và cargo, bạn có thể chọn cách cài đặt trực tiếp 2 packages này.

Tuy nhiên ở bước cài đặt công cụ hỗ trợ cho các IDE, chúng ta thường dùng racer và engine này yêu cầu chúng ta phải có source code của Rust nằm sẵn trong máy. Nếu chọn cách cài đặt từng gói, thì chúng ta có thể cài đặt Rust source code thông qua yaourt với gói rust-srcAUR, rồi phải set biến môi trường RUST_SRC_PATH khá là phiền phức.

Cho nên, cách cài đặt đơn giản nhất đó là dùng rustup. Package này gồm có: rustuprustc và cargo. Và bước cài đặt Rust source cũng đơn giản hơn.

  Dynamic typing trong Rust với std::any::Any
  Rust và Lập trình Web

Xem thêm tuyển dụng Linux lương cao trên TopDev

Các bước cài đặt cụ thể như sau:

1. Cài Rustup

Cài rustup thông qua pacman sau đó chọn phiên bản Rust cần dùng, ví dụ ở đây dùng bản stable.

$ sudo pacman -S rustup
$ rustup default stable

Sau khi cài xong thì chúng ta có toàn bộ các công cụ cần thiết để làm việc với rust. Có thể kiểm tra thông qua các lệnh:

$ rustc -V
$ cargo -V

2. Cài đặt công cụ hỗ trợ cho các IDE

Việc đầu tiên cần làm trước khi cài đặt các gói hỗ trợ cho IDE là add Rust source code vào máy, thực hiện việc này thông qua rustup như sau:

$ rustup component add rust-src

Sau khi đã có source code của Rust trong máy, các bạn có thể bắt đầu đọc source để hiểu những gì Rust làm bên dưới, từ đó sẽ nắm được toàn bộ kiến thức và không cần dùng bất cứ trình hỗ trợ nào cho IDE khi code Rust nữa… à nhầm, không phải =)))) bước tiếp theo là cài đặt racer.

$ cargo install racer

Cuối cùng, tùy theo IDE/editor mà bạn sử dụng, bạn có thể cài các plugin khác nhau cho việc support Rust. Nếu bạn xài Vim thì cài plugin rust.vim:

Plug 'rust-lang/rust.vim'

3. Cài đặt Syntastic trong Vim

Phần này chỉ là phụ, dành cho bạn nào xài Vim và muốn có chức năng kiểm tra lỗi trực tiếp trong lúc code bằng Syntastic.

Cài thêm plugin Syntastic như sau:

Plug 'vim-syntastic/syntastic'

Cấu hình cho Syntastic trong .vimrc theo như recommend trên trang chủ dự án của họ:

set statusline+= %#warningmsg#
set statusline+= %{SyntasticStatuslineFlag()}
set statusline+= %*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

Tuy nhiên nếu chỉ đến đây, khả năng là chức năng kiểm tra lỗi vẫn chưa hoạt động được, cần thêm vào dòng sau để chỉ định Syntastic checker dành cho Rust:

let g:syntastic_rust_checkers = ['rustc']

Khởi động lại Vim và thưởng thức thành quả 😀

Đến đây thì việc cài đặt hoàn tất. Bạn có thể tham khảo thêm wiki của Arch Linux để biết thêm chi tiết về cách cài đặt Rust và các chức năng cần thiết khác.

UPDATE: Sau khi làm việc với Rust theo như setup ở trên vài ngày thì mình có gặp hai vấn đề liên quan đến cargo, đó là:

  • Syntastic không thể nhận biết được project dạng library, nên sẽ luôn xuất hiện thông báo kiểu như missing main function
  • Khi sử dụng các crate bên ngoài thì Syntastic sẽ báo lỗi ngay dòng extern crate ..., nói là không tìm thấy crate này

Hai vấn đề trên buộc lòng chúng ta phải sử dụng cargo làm checker cho Syntastic thay vì rustc, hiện tại thì cargo check đã được merge vào master của cargo nhưng việc support này vẫn chưa được merge vào plugin rust.vim (xem pull request rust.vim#132).

Cách giải quyết tạm thời là cài rust.vim trực tiếp từ repo của tác giả jlevesy thay vì từ repo của rust-lang:

Plug 'jlevesy/rust.vim'

Và chỉ định cargo làm checker:

let g:syntastic_rust_checkers = ['cargo']
Bài viết gốc được đăng tải tại snacky.blog
Có thể bạn quan tâm:
Xem thêm các công việc ngành CNTT hấp dẫn trên TopDev