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

Go

このエントリーをはてなブックマークに追加

[Go]

GO言語を始めてみよう

    • Windowsでの例、.bashrc on Msys2
GO_HOME='/c/Go'
GOPATH=$HOME/.go

PATH=$PATH:$GO_HOME/bin:$GOPATH/bin
// 公式サイトから落とす
$ 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

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

// ここからdeb形式でインストールする手順、結論から言うと動かない
$ wget https://godeb.s3.amazonaws.com/godeb-amd64.tar.gz
$ mkdir -p ~/.go/bin/
$ tar xvf godeb-amd64.tar.gz -C ~/.go/bin/ 
// 終わり

// 以下を追記、$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
    • Emacs
      • Rubyとかでもそうだけど、PATHの追加とか
;; PATH
(setenv "GOPATH" "~/.go")
(setenv "GO_HOME" "/usr/local/go")
(setenv "PATH"
        (concat
         "/usr/local/go/bin:"
         "~/.go/bin:"
         (getenv "PATH")))

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

→ 「go: GOPATH entry cannot start with shell metacharacter '~': "~/.go"」なんやて…

;; PATH
(setenv "GOPATH" "$HOME/.go")
(setenv "GO_HOME" "/usr/local/go")
(setenv "PATH"
        (concat
         "/usr/local/go/bin:"
         "$HOME/.go/bin:"
         (getenv "PATH")))

;; Go
(unless (package-installed-p 'go-mode)
  (package-refresh-contents) (package-install 'go-mode))
(add-to-list 'auto-mode-alist '("\\.go$" . go-mode))
export GOPATH="$HOME/.go"
export GO_HOME="/usr/local/go"

## create emacs env file
perl -wle \
    'do { print qq/(setenv "$_" "$ENV{$_}")/ if exists $ENV{$_} } for @ARGV' \
        PATH > ~/.emacs.d/shellenv.el
perl -wle \
    'do { print qq/(setenv "$_" "$ENV{$_}")/ if exists $ENV{$_} } for @ARGV' \
        GO_HOME >> ~/.emacs.d/shellenv.el
perl -wle \
    'do { print qq/(setenv "$_" "$ENV{$_}")/ if exists $ENV{$_} } for @ARGV' \
        GOPATH >> ~/.emacs.d/shellenv.el
お名前: コメント: