go-ttyを試そうとしたときに遭遇したエラーと、対応時のメモを記載する。
go-ttyを試してみようと思い、READMEに書かれているコードを参考にして入力したキーを出力させるだけのコードを書き、実行しようとしたら下記のようなエラーに遭遇した。
なお、実行時の環境は
- マシンは
M1 MacBook Air
で、 - Goのバージョンは
go version go1.19 darwin/arm64
である
# golang.org/x/sys/unix ../../go/pkg/mod/golang.org/x/sys@v0.0.0-20191120155948-bd437916bb0e/unix/syscall_darwin.1_13.go:25:3: //go:linkname must refer to declared function or variable ../../go/pkg/mod/golang.org/x/sys@v0.0.0-20191120155948-bd437916bb0e/unix/zsyscall_darwin_arm64.1_13.go:27:3: //go:linkname must refer to declared function or variable ../../go/pkg/mod/golang.org/x/sys@v0.0.0-20191120155948-bd437916bb0e/unix/zsyscall_darwin_arm64.1_13.go:40:3: //go:linkname must refer to declared function or variable ../../go/pkg/mod/golang.org/x/sys@v0.0.0-20191120155948-bd437916bb0e/unix/zsyscall_darwin_arm64.go:28:3: //go:linkname must refer to declared function or variable ../../go/pkg/mod/golang.org/x/sys@v0.0.0-20191120155948-bd437916bb0e/unix/zsyscall_darwin_arm64.go:43:3: //go:linkname must refer to declared function or variable ../../go/pkg/mod/golang.org/x/sys@v0.0.0-20191120155948-bd437916bb0e/unix/zsyscall_darwin_arm64.go:59:3: //go:linkname must refer to declared function or variable ../../go/pkg/mod/golang.org/x/sys@v0.0.0-20191120155948-bd437916bb0e/unix/zsyscall_darwin_arm64.go:75:3: //go:linkname must refer to declared function or variable ../../go/pkg/mod/golang.org/x/sys@v0.0.0-20191120155948-bd437916bb0e/unix/zsyscall_darwin_arm64.go:90:3: //go:linkname must refer to declared function or variable ../../go/pkg/mod/golang.org/x/sys@v0.0.0-20191120155948-bd437916bb0e/unix/zsyscall_darwin_arm64.go:105:3: //go:linkname must refer to declared function or variable ../../go/pkg/mod/golang.org/x/sys@v0.0.0-20191120155948-bd437916bb0e/unix/zsyscall_darwin_arm64.go:121:3: //go:linkname must refer to declared function or variable ../../go/pkg/mod/golang.org/x/sys@v0.0.0-20191120155948-bd437916bb0e/unix/zsyscall_darwin_arm64.go:121:3: too many errors
ひとまずエラーメッセージでぐぐってみると、Goの下記のissueにたどり着いた。
ここのissueの最後に書かれている、下記のコマンドを実行することで無事に go-tty のコードを実行することができた。
go get -u golang.org/x/sys
以上、備忘録でした。