トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

Goの環境構築

[Go]

GO言語を始めてみよう

GOの環境構築

  Windowsでの例、.bashrc on Msys2

export GO_HOME=$HOME/.go
export GOPATH=$HOME/.go
export PATH=$PATH:/c/Go/bin:$GO_HOME/bin:$GOPATH/bin

  Debianでの例、 The Go Programming Language - Getting Started を見て

// 公式サイトから落とす
$ wget https://storage.googleapis.com/golang/go1.7.4.linux-amd64.tar.gz
$ tar -C /usr/local -xzf go1.7.4.linux-amd64.tar.gz
$ cat ~/.bashrc
GOPATH=$HOME/.go
GO_HOME=/usr/local/go
PATH=$PATH:$GO_HOME/bin:$GOPATH/bin

上の場合 sudo chown user:user -R /usr/local/go やっとくといい

$ source ~/.bashrc
$ go version
go version go1.7.4 linux/amd64

// 終わり

// 以下を追記、$GO_HOMEを/usr/local/goにしてしまうとRubyもそうだけど書き込み権限が無くて死ぬんじゃないかなと
$ cat ~/.bashrc
GOPATH=$HOME/.go
GO_HOME=$HOME/.go
PATH=$PATH:$GO_HOME/bin:$GOPATH/bin

$ source ~/.bashrc
$ sudo godeb install

追記しとく

$ cat ~/.bashrc
GOPATH=$HOME/.go
GO_HOME=/usr/local/go
PATH=$PATH:$GO_HOME/bin:$GOPATH/bin
GOBIN=$GOPATH/bin

  goenv

慣れてきたら使ってほしい

  Emacs

;; PATH
(unless (package-installed-p 'exec-path-from-shell)
  (package-refresh-contents) (package-install 'exec-path-from-shell))

;; bashと変数を共有
(exec-path-from-shell-initialize)

;; Go
(unless (package-installed-p 'go-mode)
  (package-refresh-contents) (package-install 'go-mode))
(add-to-list 'auto-mode-alist '("\\.go$" . go-mode))

  必要なgo パッケージの導入

  • Go用のEmacsパッケージは分けるとよい
    • .emacs.d/go.elを用意する
;; go-mode
(load "~/.emacs.d/go")
    • go.el
(unless (package-installed-p 'flycheck)
  (package-refresh-contents) (package-install 'flycheck))
(unless (package-installed-p 'company-go)
  (package-refresh-contents) (package-install 'company-go))

;; Goのパスを通す
(add-to-list 'exec-path (expand-file-name (concat (getenv "GO_HOME") "/bin")  ))
;; go get で入れたツールのパスを通す
(add-to-list 'exec-path (expand-file-name (concat (getenv "GOPATH") "/bin")))
    • gofmt(コードを整形してくれるパッケージ。デフォルトで導入済み)
    • godef(関数定義などを参照できるパッケージ)
    • gocode(autocompleteやcompanyと連携して補完をしてくれるパッケージ)
    • golint / errcheck (flycheck で自動的にシンタックスエラーを検知)
お名前: コメント: