Go プログラミング 開発ノウハウ

go moduleの初期化はサブディレクトリで行わないこと

投稿日:


 

別のディレクトリのファイルのインポートが出来なくなります。
 

こんにちは、mabuiです。
タイトルに書いた内容でハマったので、合わせてgo moduleの扱い方について書いていきます。

まずmoduleの初期化ですが下記のディレクトリがあったとして、

 

ルートディレクトリでmoduleの初期化をします。
module名は何でも大丈夫ですが、公開する場合のパッケージ名にしておいた方がベターです。

 

すると、go.modファイルができるので、importを参照しているファイルがあるディレクトリ(今回はサブディレクトリ)で

コマンドを実行すると、ルートディレクトリ配下で使用されている依存ライブラリがダウンロードされて、
go.modファイル内にrequlerが記述され、go.sumファイルが作られます。

 

実行後のディレクトリは下記です。

 

サブディレクトリ配下のファイルは、ルートディレクトリ配下を一つのモジュールとして、他のディレクトリをインポートできるようになります。

※サブディレクトリ内でmoduleの初期化(go mod init)を実行しないこと!
 

-Go, プログラミング, 開発ノウハウ
-, ,

Copyright© mabui.org , 2019 All Rights Reserved Powered by STINGER.