- vừa được xem lúc

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

0 0 40

Người đăng: Huy Tran

Theo The Full Snack

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

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 rustcargo, 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ó: rustup, rustccargo. Và bước cài đặt Rust source cũng đơn giản hơn.

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

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

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'

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ả :D

Đế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ình luận

Bài viết tương tự

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 3: Docker-compose)

1. Mở đầu. . .

0 0 121

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 5

Hello 500 ae, sau 4 số trong seri này mình thấy có vẻ ae có hứng thú đọc chủ đề này ghê. Hi vọng những gì mình tìm hiểu được sẽ giúp ích được cho nhiều bạn hơn.

0 0 51

- vừa được xem lúc

Những lệnh command shell linux cơ bản có thể bạn chưa biết - Phần 1

Bài viết này sẽ liệt kê một số command cơ bản thường được dùng trong linux, tiện dụng cho các bạn khi sử dụng linux mà có thể bạn chưa biết. Tôi là ai, câu lệnh này sẽ cho bạn biết bạn đang sử dụng linux bằng tài khoản người dùng nào.

0 0 55

- vừa được xem lúc

Cách sử dụng lệnh SCP để truyền tệp an toàn

SCP (secure copy) là một tiện ích dòng lệnh cho phép bạn sao chép an toàn các tệp và thư mục giữa hai vị trí. . From your local system to a remote system. Between two remote systems from your local system.

0 0 55

- vừa được xem lúc

Người ta làm cách nào để backup thường xuyên thư mục rất lớn?

. Vấn đề về sao lưu thư mục lớn. Mình có lưu "sương sương" 300GB các tệp tin của người dùng upload lên, như hình ảnh hay các tệp đính kèm.

0 0 49

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 4

Sau một kì nghỉ tết trong thời buổi đại dịch vừa qua. Không còn những buổi dong chơi đi chúc tết nữa. Ở nhà ra số tiếp theo cho anh em đây. Dưới đây sẽ là 2 command được sử dụng nhiều nhất khi sử dụng file.

0 0 52