回答編集履歴

2

誤字修正

2020/02/27 01:09

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -18,7 +18,9 @@
18
18
 
19
19
 
20
20
 
21
- 公開予定があるであればそれはやはりクラウド上のリポジトリに置くのが一番スムーズです。
21
+ 公開予定があるであればそれはやはりクラウド上のリポジトリに置くのが一番スムーズです。
22
+
23
+ (おそかれはやかれやる事を後回しにしても問題の発見が遅れるだけです)
22
24
 
23
25
  ローカル参照といったトリッキーなことはしない方が良いかと思います。
24
26
 

1

具体例を追記

2020/02/27 01:09

投稿

nobonobo
nobonobo

スコア3367

test CHANGED
@@ -1,3 +1,65 @@
1
1
  外部参照パッケージとルートに置くモジュールと自作のパッケージがあって、go modでオフラインのまま何も不自由なく手元でのテストできますよ。
2
2
 
3
3
  ローカルパッケージインポートとは具体的にどうされているのか示してもらえると回答しやすいです。
4
+
5
+
6
+
7
+ ローカルパッケージの扱いが以下のどちらなのかがわかるとそれぞれの対応が決まると思います
8
+
9
+
10
+
11
+ - 公開予定がある
12
+
13
+ - 公開予定がない
14
+
15
+
16
+
17
+ ## 公開予定がある
18
+
19
+
20
+
21
+ 公開予定があるであればそれはやはりクラウド上のリポジトリに置くのが一番スムーズです。
22
+
23
+ ローカル参照といったトリッキーなことはしない方が良いかと思います。
24
+
25
+
26
+
27
+ ただ、プライベートリポジトリに置いておいて後にパブリックリポジトリに変更という対応は可能です。
28
+
29
+ GitHubでssh認証の場合、以下のコマンドでプライベートリポジトリに対しても「go mod」が機能します。
30
+
31
+ ```shell
32
+
33
+ git config --global url."ssh://git@github.com".insteadOf "https://github.com"
34
+
35
+ ```
36
+
37
+
38
+
39
+ ## 公開予定がない
40
+
41
+
42
+
43
+ 公開予定がないのであれば、サブパッケージにしましょう。
44
+
45
+ 例:
46
+
47
+ ```shell
48
+
49
+ go mod init github.com/<user-name>/<module-name>
50
+
51
+ ```
52
+
53
+
54
+
55
+ `<リポジトリルート>/<sub-pkg-name>`にサブパッケージのコードをおいておき、
56
+
57
+
58
+
59
+ 以下のように書けばサブパッケージを利用できます。
60
+
61
+ ```go
62
+
63
+ import "github.com/<user-name>/<module-name>/<sub-pkg-name>"
64
+
65
+ ```