Thứ ba, 09/04/2019 | 00:00 GMT+7

Cách cài đặt Go và thiết lập môi trường lập trình cục bộ trên macOS


Giới thiệu

Go là một ngôn ngữ lập trình được sinh ra từ sự thất vọng của Google. Các nhà phát triển liên tục phải chọn một ngôn ngữ thực thi hiệu quả nhưng mất nhiều thời gian để biên dịch hoặc chọn một ngôn ngữ dễ lập trình nhưng chạy không hiệu quả trong quá trình production . Go được thiết kế để có cùng lúc cả ba: biên dịch nhanh, dễ lập trình và thực thi hiệu quả trong quá trình production .

Mặc dù Go là một ngôn ngữ lập trình đa năng được dùng cho nhiều dự án lập trình khác nhau, nhưng nó đặc biệt phù hợp với các chương trình mạng / hệ thống phân tán và đã được coi là “ngôn ngữ của cloud ”. Nó tập trung vào việc giúp các lập trình viên hiện đại làm được nhiều việc hơn với một bộ công cụ mạnh mẽ, loại bỏ các cuộc tranh luận về định dạng bằng cách biến định dạng thành một phần của đặc tả ngôn ngữ, cũng như giúp triển khai dễ dàng bằng cách biên dịch sang một file binary duy nhất. Cờ vây rất dễ học, với một bộ từ khóa rất nhỏ, điều này làm cho nó trở thành lựa chọn tuyệt vời cho người mới bắt đầu cũng như các nhà phát triển có kinh nghiệm.

Hướng dẫn này sẽ hướng dẫn bạn cài đặt Go trên máy macOS local của bạn và cài đặt không gian làm việc lập trình thông qua dòng lệnh.

Yêu cầu

Bạn cần một máy tính macOS có quyền truy cập quản trị được kết nối với internet.

Bước 1 - Mở Terminal

Ta sẽ hoàn thành hầu hết quá trình cài đặt và cài đặt trên dòng lệnh, đây là một cách phi đồ họa để tương tác với máy tính của bạn. Nghĩa là, thay vì nhấp vào các node , bạn sẽ nhập văn bản và nhận phản hồi từ máy tính của bạn thông qua văn bản. Dòng lệnh, còn gọi là shell, có thể giúp bạn sửa đổi và tự động hóa nhiều tác vụ bạn làm trên máy tính hàng ngày và là một công cụ cần thiết cho các nhà phát triển phần mềm.

MacOS Terminal là một ứng dụng bạn có thể sử dụng để truy cập giao diện dòng lệnh. Giống như bất kỳ ứng dụng nào khác, bạn có thể tìm thấy nó bằng cách vào Finder, chuyển đến folder Applications, sau đó vào folder Utilities. Từ đây, nhấp đúp vào Terminal giống như bất kỳ ứng dụng nào khác để mở nó. Ngoài ra, bạn có thể sử dụng Spotlight bằng cách nhấn giữ phím CMD và phím SPACE để tìm Terminal bằng lệnh nó vào hộp xuất hiện.

Thiết bị  terminal  macOS

Có nhiều lệnh Terminal khác để tìm hiểu có thể cho phép bạn thực hiện những điều mạnh mẽ hơn. Bài viết “ Giới thiệu về Linux Terminal ” có thể giúp bạn định hướng tốt hơn với Linux Terminal, tương tự như Terminal của macOS.

Đến đây bạn đã mở Terminal, bạn có thể download và cài đặt Xcode , một gói công cụ dành cho nhà phát triển mà bạn cần để cài đặt Go.

Bước 2 - Cài đặt Xcode

Xcode là một môi trường phát triển tích hợp (IDE) bao gồm các công cụ phát triển phần mềm cho macOS. Bạn có thể kiểm tra xem Xcode đã được cài đặt chưa bằng lệnh nội dung sau vào cửa sổ Terminal:

  • xcode-select -p

Kết quả sau nghĩa là Xcode đã được cài đặt:

Output
/Library/Developer/CommandLineTools

Nếu bạn gặp lỗi, thì trong trình duyệt web , hãy cài đặt Xcode từ App Store và chấp nhận các tùy chọn mặc định.

Sau khi Xcode được cài đặt, hãy quay lại cửa sổ Terminal . Tiếp theo, bạn cần cài đặt ứng dụng Công cụ dòng lệnh riêng biệt của Xcode, bạn có thể thực hiện bằng lệnh :

  • xcode-select --install

Đến đây, Xcode và ứng dụng Command Line Tools của nó đã được cài đặt đầy đủ và ta đã sẵn sàng cài đặt trình quản lý gói Homebrew.

Bước 3 - Cài đặt và cài đặt Homebrew

Mặc dù Thiết bị terminal macOS có nhiều chức năng của Thiết bị terminal Linux và các hệ thống Unix khác, nhưng nó không đi kèm với trình quản lý gói đáp ứng các phương pháp hay nhất. Trình quản lý gói là một tập hợp các công cụ phần mềm hoạt động để tự động hóa quy trình cài đặt bao gồm cài đặt phần mềm ban đầu, nâng cấp và cấu hình phần mềm cũng như gỡ bỏ phần mềm khi cần thiết. Chúng giữ các bản cài đặt ở vị trí trung tâm và có thể duy trì tất cả các gói phần mềm trên hệ thống ở các định dạng thường được sử dụng. Homebrew cung cấp cho macOS một hệ thống quản lý gói phần mềm open-souce và miễn phí giúp đơn giản hóa việc cài đặt phần mềm trên macOS.

Để cài đặt Homebrew, hãy nhập cái này vào cửa sổ Terminal :

  • /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew được tạo bằng Ruby, vì vậy nó sẽ sửa đổi đường dẫn Ruby trên máy tính của bạn. Lệnh curl kéo một tập lệnh từ URL được chỉ định. Tập lệnh này sẽ giải thích những gì nó sẽ làm và sau đó tạm dừng quá trình để nhắc bạn xác nhận. Điều này cung cấp cho bạn nhiều phản hồi về những gì tập lệnh sẽ thực hiện với hệ thống của bạn và cho bạn cơ hội xác minh quy trình.

Nếu bạn cần nhập password , hãy lưu ý các lần gõ phím của bạn sẽ không hiển thị trong cửa sổ Terminal nhưng chúng sẽ được ghi lại. Chỉ cần nhấn phím return khi bạn đã nhập password của bạn . Nếu không, hãy nhấn vào chữ cái y cho “yes” khi nào bạn được yêu cầu xác nhận cài đặt.

Hãy xem qua các cờ được liên kết với lệnh curl :

  • Cờ -f hoặc --fail cho cửa sổ Terminal không cho xuất trang HTML về lỗi server .
  • Cờ -s hoặc --silent tắt tiếng curl để nó không hiển thị đồng hồ đo tiến trình và kết hợp với cờ -S hoặc --show-error nó sẽ đảm bảo curl hiển thị thông báo lỗi nếu nó không thành công.
  • Cờ -L hoặc --location sẽ báo cho curl thực hiện lại yêu cầu đến một địa điểm mới nếu server báo cáo rằng trang được yêu cầu đã chuyển đến một vị trí khác.

Khi cài đặt xong , ta sẽ đặt folder Homebrew ở đầu biến môi trường PATH . Điều này sẽ đảm bảo các bản cài đặt Homebrew sẽ được gọi qua các công cụ mà macOS có thể chọn tự động có thể chạy ngược với môi trường phát triển mà ta đang tạo.

Bạn nên tạo hoặc mở file ~/.bash_profile bằng editor dòng lệnh nano bằng cách sử dụng lệnh nano :

  • nano ~/.bash_profile

Khi file mở ra trong cửa sổ Terminal, hãy viết như sau:

export PATH=/usr/local/bin:$PATH 

Để lưu các thay đổi , hãy giữ CTRL và chữ o , và khi được yêu cầu , hãy nhấn phím RETURN . Đến đây bạn có thể thoát khỏi nano bằng cách giữ CTRL và ký tự x .

Kích hoạt những thay đổi này bằng cách thực hiện các thao tác sau trong Terminal:

  • source ~/.bash_profile

Khi bạn đã hoàn thành việc này, những thay đổi bạn đã thực hiện đối với biến môi trường PATH sẽ có hiệu lực.

Bạn có thể đảm bảo Homebrew đã được cài đặt thành công bằng lệnh :

  • brew doctor

Nếu không có bản cập nhật nào được yêu cầu tại thời điểm này, kết quả của Terminal sẽ đọc:

Output
Your system is ready to brew.

Nếu không, bạn có thể nhận được cảnh báo chạy một lệnh khác, chẳng hạn như brew update đảm bảo rằng bản cài đặt Homebrew của bạn được cập nhật.

Khi Homebrew đã sẵn sàng, bạn có thể cài đặt Go.

Bước 4 - Cài đặt Go

Bạn có thể sử dụng Homebrew để tìm kiếm tất cả các gói có sẵn bằng lệnh brew search . Với mục đích của hướng dẫn này, bạn sẽ tìm kiếm các gói hoặc module liên quan đến Go:

  • brew search golang

Lưu ý : Hướng dẫn này không sử dụng brew search go vì nó trả về quá nhiều kết quả. Bởi vì go là một từ nhỏ và sẽ phù hợp với nhiều gói, nên việc sử dụng golang làm cụm từ tìm kiếm đã trở nên phổ biến. Đây là thực tế phổ biến khi tìm kiếm các bài báo liên quan đến cờ vây trên internet. Thuật ngữ Golang được sinh ra từ domain dành cho cờ vây , đó là golang.org .

Terminal sẽ xuất ra danh sách những gì bạn có thể cài đặt:

Output
golang golang-migrate

Go sẽ nằm trong số các mục trong danh sách. Tiếp tục và cài đặt nó:

  • brew install golang

Cửa sổ Terminal sẽ cung cấp cho bạn thông tin phản hồi về quá trình cài đặt Go. Có thể mất vài phút trước khi cài đặt hoàn tất.

Để kiểm tra version Go mà bạn đã cài đặt, hãy nhập như sau:

  • go version

Thao tác này sẽ xuất ra version Go cụ thể hiện đang được cài đặt, theo mặc định sẽ là version Go ổn định và cập nhật nhất hiện có.

Trong tương lai, để cập nhật Go, bạn có thể chạy các lệnh sau để cập nhật Homebrew trước tiên và sau đó cập nhật Go. Bạn không cần phải làm điều này ngay bây giờ, vì bạn vừa cài đặt version mới nhất:

  • brew update
  • brew upgrade golang

brew update sẽ cập nhật các công thức cho chính Homebrew, đảm bảo bạn có thông tin mới nhất cho các gói bạn muốn cài đặt. brew upgrade golang sẽ cập nhật gói golang lên version mới nhất của gói.

Thực tiễn tốt là đảm bảo version Go của bạn được cập nhật.

Với Go được cài đặt trên máy tính của bạn, bây giờ bạn đã sẵn sàng tạo không gian làm việc cho các dự án Go của bạn .

Bước 5 - Tạo không gian làm việc Go của bạn

Đến đây bạn đã cài đặt Xcode, Homebrew và Go, bạn có thể tiếp tục tạo không gian làm việc lập trình của bạn .

Không gian làm việc Go sẽ chứa hai folder root của nó:

  • src : Thư mục chứa file nguồn Go. Tệp nguồn là file bạn viết bằng ngôn ngữ lập trình Go. Các file nguồn được trình biên dịch Go sử dụng để tạo file binary thực thi.
  • bin : Thư mục chứa file thi hành được xây dựng và cài đặt bởi công cụ Go. Các file thực thi là các file binary chạy trên hệ thống của bạn và thực thi các việc . Đây thường là các chương trình được biên dịch bởi mã nguồn của bạn hoặc một mã nguồn Go đã download khác.

Thư mục con src có thể chứa nhiều kho kiểm soát version (chẳng hạn như Git , MercurialBazaar ). Bạn sẽ thấy các folder như github.com hoặc golang.org khi chương trình của bạn nhập các thư viện của bên thứ ba. Nếu bạn đang sử dụng một repository mã như github.com , bạn cũng sẽ đặt các dự án và file nguồn của bạn trong folder đó. Điều này cho phép nhập mã chuẩn trong dự án của bạn. Nhập khẩu Canonical là hàng nhập khẩu mà tham khảo một gói đầy đủ, chẳng hạn như github.com/digitalocean/godo .

Đây là không gian làm việc điển hình có thể trông như thế nào:

. ├── bin │   ├── buffalo                                      # command executable │   ├── dlv                                          # command executable │   └── packr                                        # command executable └── src     └── github.com         └── digitalocean             └── godo                 ├── .git                            # Git reposistory metadata                 ├── account.go                      # package source                 ├── account_test.go                 # test source                 ├── ...                 ├── timestamp.go                 ├── timestamp_test.go                 └── util                     ├── server.go                     └── server_test.go 

Thư mục mặc định cho không gian làm việc Go kể từ ngày 1.8 là folder chính của user của bạn với folder con go , hoặc $HOME/go . Nếu bạn đang sử dụng version Go cũ hơn 1.8, cách tốt nhất được coi là vẫn sử dụng vị trí $HOME/go cho không gian làm việc của bạn.

Ban hành lệnh sau để tạo cấu trúc folder cho không gian làm việc Go của bạn:

  • mkdir -p $HOME/go/{bin,src}

Tùy chọn -p yêu cầu mkdir tạo tất cả parents trong folder , ngay cả khi chúng hiện không tồn tại. Sử dụng {bin,src} tạo một tập hợp các đối số cho mkdir và yêu cầu nó tạo cả folder bin và folder src .

Điều này sẽ đảm bảo cấu trúc folder sau hiện có:

└── $HOME     └── go         ├── bin         └── src 

Trước version 1.8, bắt buộc phải đặt một biến môi trường local có tên là $GOPATH . Mặc dù không còn bắt buộc phải làm như vậy một cách rõ ràng, nhưng nó vẫn được coi là một phương pháp hay vì nhiều công cụ của bên thứ ba vẫn phụ thuộc vào biến này đang được cài đặt .

Bạn có thể đặt $GOPATH bằng cách thêm nó vào ~/.bash_profile .

Đầu tiên, mở ~/.bash_profile bằng nano hoặc editor bạn muốn :

  • nano ~/.bash_profile

Đặt $GOPATH của bạn bằng cách thêm phần sau vào file :

~ / .bash_profile
export GOPATH=$HOME/go 

Khi Go biên dịch và cài đặt các công cụ, nó sẽ đưa chúng vào folder $GOPATH/bin . Để thuận tiện, bạn thường thêm folder con /bin của không gian làm việc vào PATH trong ~/.bash_profile của bạn:

~ / .bash_profile
export PATH=$PATH:$GOPATH/bin 

Đến đây bạn sẽ có các mục sau trong ~/.bash_profile :

~ / .bash_profile
export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin 

Điều này giờ sẽ cho phép bạn chạy bất kỳ chương trình nào bạn biên dịch hoặc download thông qua công cụ Go ở bất kỳ đâu trên hệ thống.

Để cập nhật shell của bạn, hãy chạy lệnh sau để tải các biến toàn cục bạn vừa tạo:

  • . ~/.bash_profile

Bạn có thể xác minh $PATH được cập nhật bằng cách sử dụng lệnh echo và kiểm tra kết quả :

  • echo $PATH

Bạn sẽ thấy $GOPATH/bin sẽ hiển thị trong folder chính của bạn. Nếu bạn đã đăng nhập bằng sammy , bạn sẽ thấy /Users/sammy/go/bin trong đường dẫn.

Output
/Users/sammy/go/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Đến đây bạn đã tạo folder root của không gian làm việc và tập hợp biến môi trường $GOPATH , bạn sẽ tạo các dự án trong tương lai của bạn với cấu trúc folder sau. Ví dụ này giả sử bạn đang sử dụng github.com làm repository của bạn :

$GOPATH/src/github.com/username/project 

Nếu bạn đang làm việc trên dự án https://github.com/digitalocean/godo , bạn sẽ đặt nó vào folder sau:

$GOPATH/src/github.com/digitalocean/godo 

Cấu trúc các dự án của bạn theo cách này sẽ làm cho các dự án có sẵn với công cụ go get . Nó cũng sẽ giúp dễ đọc sau này.

Bạn có thể xác minh điều này bằng cách sử dụng lệnh go get để tìm nạp thư viện godo :

  • go get github.com/digitalocean/godo

Ta có thể thấy nó đã download thành công gói godo bằng cách liệt kê folder :

  • ls -l $GOPATH/src/github.com/digitalocean/godo

Bạn sẽ nhận được kết quả tương tự như sau:

Output
-rw-r--r-- 1 sammy staff 2892 Apr 5 15:56 CHANGELOG.md -rw-r--r-- 1 sammy staff 1851 Apr 5 15:56 CONTRIBUTING.md . . . -rw-r--r-- 1 sammy staff 4893 Apr 5 15:56 vpcs.go -rw-r--r-- 1 sammy staff 4091 Apr 5 15:56 vpcs_test.go

Trong bước này, bạn đã tạo không gian làm việc Go và cấu hình các biến môi trường cần thiết. Trong bước tiếp theo, bạn sẽ kiểm tra không gian làm việc với một số mã.

Bước 6 - Tạo một chương trình đơn giản

Đến đây bạn đã cài đặt không gian làm việc Go của bạn , đã đến lúc tạo một thông báo đơn giản “Hello, World!” chương trình. Điều này sẽ đảm bảo không gian làm việc của bạn đang hoạt động và cho bạn cơ hội làm quen với cờ vây hơn.

Vì bạn đang tạo một file nguồn Go duy nhất chứ không phải một dự án thực tế, bạn không cần phải ở trong không gian làm việc của bạn để thực hiện việc này.

Từ folder chính của bạn, hãy mở một editor dòng lệnh, chẳng hạn như nano và tạo một file mới:

  • nano hello.go

Khi file văn bản mở ra trong Terminal, hãy nhập chương trình của bạn:

package main  import "fmt"  func main() {     fmt.Println("Hello, World!") } 

Thoát nano bằng lệnh phím control và phím x , và khi được yêu cầu lưu file , hãy nhấn y .

Mã này sẽ sử dụng gói fmt và gọi hàm Println với Hello, World! như đối số. Điều này sẽ tạo ra cụm từ Hello, World! để in ra terminal khi chương trình được chạy.

Khi bạn thoát ra khỏi nano và quay lại shell của bạn , hãy chạy chương trình:

  • go run hello.go

Chương trình hello.go mà bạn vừa tạo sẽ khiến Terminal tạo ra kết quả sau:

Output
Hello, World!

Trong bước này, bạn đã sử dụng một chương trình cơ bản để xác minh không gian làm việc Go của bạn được cấu hình đúng cách.

Kết luận

Xin chúc mừng! Đến đây, bạn đã cài đặt không gian làm việc lập trình Go trên máy macOS local của bạn và có thể bắt đầu một dự án mã hóa!


Tags:

Các tin liên quan