質問編集履歴

11

type miss

2024/06/13 12:18

投稿

aaaa____
aaaa____

スコア29

test CHANGED
File without changes
test CHANGED
@@ -130,7 +130,7 @@
130
130
  ```
131
131
  以下も試してみましたが結果は変わらずでした.
132
132
  ```
133
- export GOPATH="/Users/sername/M1/RP/VPM/PM/01"
133
+ export GOPATH="/Users/username/M1/RP/VPM/PM/01"
134
134
  ```
135
135
 
136
136
  ### 見た記事

10

疑問点,試行錯誤の追記

2024/06/13 12:18

投稿

aaaa____
aaaa____

スコア29

test CHANGED
File without changes
test CHANGED
@@ -58,6 +58,9 @@
58
58
  [参考記事](https://qiita.com/0xmks/items/063a382c3df3caa1b89b)
59
59
 
60
60
  `PM`フォルダでも`VPM`フォルダでも`go env`で見える`GOROOT`は同じなのに,`PM`では`not in GOROOT`となってしまうのは相対パス関連の話だと思うのですが,どこをどう変えれば良いのか模索中です.
61
+
62
+ https://qiita.com/momotaro98/items/23fa4356389a7e610acc
63
+ この記事で言うところの絶対パスとは,どういうものなのでしょうか.`go.mod`の場所(module名)からのパス,相対パスのように見えてしまうのですが.
61
64
 
62
65
  ### 試したこと
63
66
  #### VPMでの go env の結果
@@ -125,6 +128,10 @@
125
128
  ```
126
129
  export GOPATH=$(pwd)
127
130
  ```
131
+ 以下も試してみましたが結果は変わらずでした.
132
+ ```
133
+ export GOPATH="/Users/うsername/M1/RP/VPM/PM/01"
134
+ ```
128
135
 
129
136
  ### 見た記事
130
137
  https://zenn.dev/tennashi/articles/3b87a8d924bc9c43573e

9

疑問点追加

2024/06/13 02:01

投稿

aaaa____
aaaa____

スコア29

test CHANGED
File without changes
test CHANGED
@@ -56,6 +56,8 @@
56
56
  ### 疑問点
57
57
  GOROOTはGoのVer.を管理するために設定するという認識であり,いくつか記事を見てみたところ,GOROOTは明示的に設定しなくてよいというように書いてあったりするのですが,なぜここがネックになってエラーが起きるのかがわかりません.
58
58
  [参考記事](https://qiita.com/0xmks/items/063a382c3df3caa1b89b)
59
+
60
+ `PM`フォルダでも`VPM`フォルダでも`go env`で見える`GOROOT`は同じなのに,`PM`では`not in GOROOT`となってしまうのは相対パス関連の話だと思うのですが,どこをどう変えれば良いのか模索中です.
59
61
 
60
62
  ### 試したこと
61
63
  #### VPMでの go env の結果

8

main.goの追記

2024/06/13 01:06

投稿

aaaa____
aaaa____

スコア29

test CHANGED
File without changes
test CHANGED
@@ -34,6 +34,24 @@
34
34
  direnv: loading ~/M1/RP/VisualPMusic/.envrc
35
35
  direnv: export ~GOPATH
36
36
  ```
37
+ `main.go`
38
+ ```Go
39
+ package main
40
+
41
+ import(
42
+ "fmt"
43
+ "os"
44
+ "PM/repl"
45
+ )
46
+
47
+ func main(){
48
+ output, _ := os.Create("../../../../docs/melody.txt")
49
+ output.Close()
50
+ fmt.Printf("Feel free to type in commands\n")
51
+ repl.Start(os.Stdin, os.Stdout)
52
+ }
53
+ ```
54
+
37
55
 
38
56
  ### 疑問点
39
57
  GOROOTはGoのVer.を管理するために設定するという認識であり,いくつか記事を見てみたところ,GOROOTは明示的に設定しなくてよいというように書いてあったりするのですが,なぜここがネックになってエラーが起きるのかがわかりません.
@@ -106,7 +124,7 @@
106
124
  export GOPATH=$(pwd)
107
125
  ```
108
126
 
109
- ### ているもの
127
+ ### 見た記事
110
128
  https://zenn.dev/tennashi/articles/3b87a8d924bc9c43573e
111
129
  このサイトを読めばGOPATH関係なく開発できそうなのでやってみて次のようにしましたが,依然だめでした.
112
130
  ```
@@ -150,3 +168,7 @@
150
168
  PKG_CONFIG="pkg-config"
151
169
  GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/d9/bmytbwsn2yjdxh_zrh3b9z380000gn/T/go-build3815054543=/tmp/go-build -gno-record-gcc-switches -fno-common"
152
170
  ```
171
+
172
+ https://qiita.com/AQUA651/items/d1c3a3b1d339ca0a0b41
173
+ この記事を読みましたが,この記事における`main.go`の`import`のルートパスの仕組みがよくわかりませんでした.
174
+

7

現状の修正

2024/06/12 12:35

投稿

aaaa____
aaaa____

スコア29

test CHANGED
File without changes
test CHANGED
@@ -7,9 +7,9 @@
7
7
  #### ファイル構成
8
8
  ```
9
9
  /Users/username/M1/RP/VPM/
10
+ ├── .envrc
10
11
  ├── srever.js
11
12
  └── PM/01/
12
- ├── .envrc
13
13
  └── src/PM/
14
14
  ├── go.mod
15
15
  ├── main.go
@@ -28,14 +28,11 @@
28
28
  PM/01/src/PM/main.go:6:2: package PM/repl is not in GOROOT (/usr/local/go/src/PM/repl)
29
29
  ```
30
30
 
31
- `01`のところまで行くとdirenvが通るようですが,実行はできませんでした.
31
+ direnvが通るようですが,実行はできませんでした.
32
32
  ```
33
- VPM % cd PM/01
33
+ RP % cd VisualPMusic
34
- direnv: loading ~/M1/RP/VPM/PM/01/.envrc
34
+ direnv: loading ~/M1/RP/VisualPMusic/.envrc
35
35
  direnv: export ~GOPATH
36
-
37
- 01 % go run ./src/PM/main.go
38
- src/PM/main.go:6:2: package PM/repl is not in GOROOT (/usr/local/go/src/PM/repl)
39
36
  ```
40
37
 
41
38
  ### 疑問点
@@ -43,7 +40,7 @@
43
40
  [参考記事](https://qiita.com/0xmks/items/063a382c3df3caa1b89b)
44
41
 
45
42
  ### 試したこと
46
- #### go envの結果
43
+ #### VPMでの go env の結果
47
44
  ```
48
45
  @MacBook-Air-2 VPM % go env
49
46
  GO111MODULE=""
@@ -61,7 +58,7 @@
61
58
  GONOPROXY=""
62
59
  GONOSUMDB=""
63
60
  GOOS="darwin"
64
- GOPATH="/Users/username/go/monkey:/Users/username/M1/RP/VPM/PM/01"
61
+ GOPATH="/Users/username/M1/RP/VPM"
65
62
  GOPRIVATE=""
66
63
  GOPROXY="https://proxy.golang.org,direct"
67
64
  GOROOT="/usr/local/go"

6

試行錯誤の追加

2024/06/11 13:00

投稿

aaaa____
aaaa____

スコア29

test CHANGED
File without changes
test CHANGED
@@ -26,6 +26,16 @@
26
26
  ### 発生している問題・エラーメッセージ
27
27
  ```
28
28
  PM/01/src/PM/main.go:6:2: package PM/repl is not in GOROOT (/usr/local/go/src/PM/repl)
29
+ ```
30
+
31
+ `01`のところまで行くとdirenvが通るようですが,実行はできませんでした.
32
+ ```
33
+ VPM % cd PM/01
34
+ direnv: loading ~/M1/RP/VPM/PM/01/.envrc
35
+ direnv: export ~GOPATH
36
+
37
+ 01 % go run ./src/PM/main.go
38
+ src/PM/main.go:6:2: package PM/repl is not in GOROOT (/usr/local/go/src/PM/repl)
29
39
  ```
30
40
 
31
41
  ### 疑問点
@@ -101,4 +111,45 @@
101
111
 
102
112
  ### 今見ているもの
103
113
  https://zenn.dev/tennashi/articles/3b87a8d924bc9c43573e
104
- このサイトを読めばGOPATH関係なく開発できそうなので進め
114
+ このサイトを読めばGOPATH関係なく開発できそうなのでやってみて次のようにししたが,依然だめでした.
115
+ ```
116
+ ~ % go env
117
+ GO111MODULE="on"
118
+ GOARCH="arm64"
119
+ GOBIN="/bin"
120
+ GOCACHE="/Users/username/Library/Caches/go-build"
121
+ GOENV="/Users/username/Library/Application Support/go/env"
122
+ GOEXE=""
123
+ GOEXPERIMENT=""
124
+ GOFLAGS=""
125
+ GOHOSTARCH="arm64"
126
+ GOHOSTOS="darwin"
127
+ GOINSECURE=""
128
+ GOMODCACHE="/Users/username/go/monkey/pkg/mod"
129
+ GONOPROXY=""
130
+ GONOSUMDB=""
131
+ GOOS="darwin"
132
+ GOPATH="/Users/username/go/monkey"
133
+ GOPRIVATE=""
134
+ GOPROXY="https://proxy.golang.org,direct"
135
+ GOROOT="/usr/local/go"
136
+ GOSUMDB="sum.golang.org"
137
+ GOTMPDIR=""
138
+ GOTOOLDIR="/usr/local/go/pkg/tool/darwin_arm64"
139
+ GOVCS=""
140
+ GOVERSION="go1.18.3"
141
+ GCCGO="gccgo"
142
+ AR="ar"
143
+ CC="clang"
144
+ CXX="clang++"
145
+ CGO_ENABLED="1"
146
+ GOMOD="/dev/null"
147
+ GOWORK=""
148
+ CGO_CFLAGS="-g -O2"
149
+ CGO_CPPFLAGS=""
150
+ CGO_CXXFLAGS="-g -O2"
151
+ CGO_FFLAGS="-g -O2"
152
+ CGO_LDFLAGS="-g -O2"
153
+ PKG_CONFIG="pkg-config"
154
+ GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/d9/bmytbwsn2yjdxh_zrh3b9z380000gn/T/go-build3815054543=/tmp/go-build -gno-record-gcc-switches -fno-common"
155
+ ```

5

行っていることを追記

2024/06/11 12:37

投稿

aaaa____
aaaa____

スコア29

test CHANGED
File without changes
test CHANGED
@@ -94,7 +94,11 @@
94
94
  )
95
95
  ```
96
96
 
97
- ### envrc
97
+ #### envrc
98
98
  ```
99
99
  export GOPATH=$(pwd)
100
100
  ```
101
+
102
+ ### 今見ているもの
103
+ https://zenn.dev/tennashi/articles/3b87a8d924bc9c43573e
104
+ このサイトを読めばGOPATH関係なく開発できそうなので読み進めています

4

envrcの追記

2024/06/11 12:27

投稿

aaaa____
aaaa____

スコア29

test CHANGED
File without changes
test CHANGED
@@ -1,12 +1,12 @@
1
1
  ### 実現したいこと
2
- 外部コマンドによって`main.go`を実行するために以下のコマンドで実行したい
2
+ フォルダ`VPM`から外部コマンドによって`main.go`を実行するために以下のコマンドで実行したい
3
3
  ```
4
4
  go run ./PM/01/src/PM/main.go
5
5
  ```
6
6
 
7
7
  #### ファイル構成
8
8
  ```
9
- /Users/username/M1/RP/VlPM/
9
+ /Users/username/M1/RP/VPM/
10
10
  ├── srever.js
11
11
  └── PM/01/
12
12
  ├── .envrc
@@ -94,3 +94,7 @@
94
94
  )
95
95
  ```
96
96
 
97
+ ### envrc
98
+ ```
99
+ export GOPATH=$(pwd)
100
+ ```

3

module名の修正

2024/06/10 12:49

投稿

aaaa____
aaaa____

スコア29

test CHANGED
File without changes
test CHANGED
@@ -78,7 +78,7 @@
78
78
 
79
79
  #### go.mod
80
80
  ```
81
- module PMusic
81
+ module PM
82
82
 
83
83
  go 1.18
84
84
 

2

フォルダの修正

2024/06/10 12:43

投稿

aaaa____
aaaa____

スコア29

test CHANGED
File without changes
test CHANGED
@@ -35,7 +35,7 @@
35
35
  ### 試したこと
36
36
  #### go envの結果
37
37
  ```
38
- sonoyamayuto@MacBook-Air-2 VisualPMusic % go env
38
+ @MacBook-Air-2 VPM % go env
39
39
  GO111MODULE=""
40
40
  GOARCH="arm64"
41
41
  GOBIN=""

1

参考記事の追加

2024/06/10 12:41

投稿

aaaa____
aaaa____

スコア29

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,10 @@
1
1
  ### 実現したいこと
2
2
  外部コマンドによって`main.go`を実行するために以下のコマンドで実行したい
3
3
  ```
4
- VPM % go run ./PM/01/src/PM/main.go
4
+ go run ./PM/01/src/PM/main.go
5
- PM/01/src/PM/main.go:6:2: package PM/repl is not in GOROOT (/usr/local/go/src/PM/repl)
6
5
  ```
7
6
 
7
+ #### ファイル構成
8
8
  ```
9
9
  /Users/username/M1/RP/VlPM/
10
10
  ├── srever.js
@@ -17,6 +17,8 @@
17
17
  └── repl.go
18
18
  ```
19
19
 
20
+ `main.go`のすぐ上にあるPMで`go run main.go`を実行する分には問題なく行えています.
21
+
20
22
  ### 環境
21
23
  - MacBook Air M2
22
24
  - Ventura 13.5
@@ -25,6 +27,10 @@
25
27
  ```
26
28
  PM/01/src/PM/main.go:6:2: package PM/repl is not in GOROOT (/usr/local/go/src/PM/repl)
27
29
  ```
30
+
31
+ ### 疑問点
32
+ GOROOTはGoのVer.を管理するために設定するという認識であり,いくつか記事を見てみたところ,GOROOTは明示的に設定しなくてよいというように書いてあったりするのですが,なぜここがネックになってエラーが起きるのかがわかりません.
33
+ [参考記事](https://qiita.com/0xmks/items/063a382c3df3caa1b89b)
28
34
 
29
35
  ### 試したこと
30
36
  #### go envの結果