Goに関するメモ

 warning: GOPATH set to GOROOT (<パス>) has no effect

問題概要

$GOROOTはインストールパスだが、以下のように$GOPATHにインストールディレクトリを指定することは出来ない。だから怒られている。

Note that GOPATH must not be the same path as your Go installation.

golang.org

解決策

素直に$GOPATHを作業ディレクトリに設定する。

 

$GOPATH/go.mod exists but should not

問題概要

go tidyをした場合とかに起きる問題。

そもそもGoのモジュール管理は0.12まで使われていた*1$GOPATHを使ったモジュール管理と、0.13よりデフォルトになったgo moduleを使ったモジュール管理の違いによって生じるもの。

As of Go 1.11, the go command enables the use of modules when the current directory or any parent directory has a go.mod, provided the directory is outside $GOPATH/src.

go.dev

 

解決策

問題の本質は$GOPATHを指定して、go getを使ったレガシーなモジュール管理を行うような設定になっているのにも関わらず、一方でgo modを使ったモダンなモジュール管理を行おうとしていること。

どっちかにせよ。

0.13以降であれば$GOPATHを消してgo moduleに一本化するしかない。

それ以前であれば、go envにGO111MODULEというのがあるので、これをoffにすることで$GOPATHを利用したモジュール管理にすることが出来る。*2

$GOPATHを使いたくなければ0.13以降と同じように$GOPATHを削除し、GO111MODULEにonを設定する。

go env -w GO111MODULE=on

 

 

 

initializing sumdb.Client: could not locate sumdb file: missing $GOPATH: cannot set GOROOT as GOPATH

原因

$GOROOTをホームディレクトリ直下のgoフォルダにしていると起きる。

github.com

エラーから内容を類推しにくいので(特にGOPATH使ったことないとわからないと思う)、結構めんどくさいエラー。

 

解決策

$HOMEや、Windowsなら$USERPROFILEの直下に作ったgoフォルダを指定するのではなく、そこ以外にする。

 

随時更新します。

*1:正確には0.11,012でGOMODULEが導入されたが、デフォルトではなかった。

*2:その場合当然go mod系のコマンドは使わない事になる

ダブリンから帰るにあたり諸注意事項

つい最近、アイルランドのダブリンから帰国してきた。

帰国にあたり色々と手続きを行なったが、失敗したこともあるので、知見をまとめておく。

なお、本ブログは2020年01月ごろの記録であり、読者がこのページを見る際には変わっている可能性もあるため、参考程度に考えてほしい。

 

重要点をいくつか

  • GNIBは返却必須だが、帰国後に返すのも可。その場合Gardaに連絡せよ。
  • PPSNは返却不要
  • Work Permitはまず勤務先と相談するのが吉
  • My Gov Idの電話番号変更は帰国前にやっておけ

 

2020/02/11 銀行について追記

 

GNIB

要返却。

会社に返せば問題ないケースもあると思われるが、私はGardaに連絡したところ、帰国後にAir Mailで返しても問題ないとの言質を得たので、滞在中の身分証明確保のため一応持っておいた。

なお、これをやりたい場合は事前連絡しておくことを推奨。

 

PPSN

返却はオプション。しても良いし、しなくとも良い。「You're not obligated to return your PPSN card」とのことであった。

 

Work Permit

私の場合会社に紐づいて発行されたWork Permitであったため、会社に返却することになった。

自分の滞在許可ステータスと相談して方針を決めた方が良いが、会社に勤務しているのであればまずは勤務先に相談することが第一ステップではなかろうか。

 

My Gov Id(P60取得に必要なrevenue.ieなど)

ログインのために電話番号によるMFAが必須になるため、何らかの方法で日本の電話番号を帰国前に取得し、登録を変更しておいた方が良い。

それをせずに帰国してしまうと、アイルランドの電話番号が必要になり、ログイン出来ずに詰む。

なお、MFAを無視して電話番号を変更するためには事務所(アイルランドの)に訪問する必要がある。

 

大家との契約によるとしか言えない。

通常、1month~ noticeがあるため帰国一ヶ月前ごろにはメールで連絡しておいた方が良い。

最後の家賃は通常払うものだが、アイルランドの場合、不動産業者が本来返すべきSecurity Depositを返却しないということを度々聞くので、払わない方が賢いかもしれない(?)。

私は面倒ごとが嫌なので払った。

 

電気

ガス、水道は私は契約していなかったので不明。

電気はElectric Irelandを利用していたが、この業者の場合Webから最後に読んだメーターを入力して解約手続きが完了する。

帰国日にメーターを確認し、Webで連絡するだけで解約手続きが完了するので楽。

 

インターネット

Virgin Mediaを利用していた。

電話で解約手続きが完了する。モデムは返却不要なので、電話して解約するよと言えばそれで終わり。

これも一ヶ月程度のnoticeがあるので、なるべく早めに伝えるのが無難。

間違ってUKのVirgin Mediaサイトを参照しないように注意。

 

[参考リンク]

https://www.virginmedia.ie/cancel/

 

銀行

私が契約していたのはBank Of Irelandである。

帰国に際し契約のTerminationは必要ないが、電話番号と住所を最新にしておく必要があるとのこと。

これもMy Govと同じく、電話番号の変更に住所が必要であり、住所の変更に電話番号が必要になるため、帰国前に変更しておくことをオススメする。

ただこれらの情報はログインに必要となるわけではなく、 送金自体は電話番号や住所の更新をしなくとも可能であるため安心して良い。