Tidak dapat menemukan GOPATH bahkan menyetel jalur env

Menggunakan pengguna root yang terinstal di linux.

Tetapkan jalur go di file ~/.zshrc:

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
$ ls $HOME/go
bin pkg src

$ ls $HOME/go/bin
asmfmt  dlv  errcheck  fillstruct  gocode  gocode-gomod  godef  gogetdoc  goimports  golint  gometalinter  gomodifytags  gorename  gotags  gounit  guru  iferr  impl  keyify  motion

Tapi go env kembali:

zsh: command not found: go

Mengapa?


Tambahan

$ whereis go
go: /usr/local/go

Setel /usr/local ke ~/.zshrc:

export PATH=$PATH:/usr/local/

Sumber itu. Jalankan go env kembali:

zsh: permission denied: go

person 02040402    schedule 24.06.2019    source sumber
comment
Tambahkan direktori tempat Anda menginstal. Buka PATH Anda.   -  person Cerise Limón    schedule 24.06.2019
comment
@CeriseLimón Tambahkan sesuatu ke pertanyaan.   -  person 02040402    schedule 24.06.2019
comment
beri dirimu export PATH=/usr/local/go/bin:${PATH}   -  person Scott Stensland    schedule 24.06.2019
comment
@ScottStensland Ini berfungsi sekarang! Jadi GOPATH harusnya /usr/local/go yang sudah dipasang?   -  person 02040402    schedule 24.06.2019
comment
@02040402 Jangan setel GOPATH ke direktori instalasi. Pendekatan sederhananya adalah dengan tidak menyetel GOPATH sama sekali. Dalam hal ini alat go akan menggunakan $HOME/go sebagai ruang kerja.   -  person Cerise Limón    schedule 24.06.2019


Jawaban (1)


Seperti yang dikomentari, ~/.zshrc Anda harus menyetel PATH ke referensi Go, seperti yang terlihat di Go wiki:

Edit file ~/.zshrc Anda untuk menambahkan baris berikut:

export GOPATH=$HOME/go

Simpan dan keluar dari editor Anda. Kemudian, sumber ~/.zshrc Anda.

source ~/.zshrc

Seperti yang dijelaskan dalam default GOPATH dan edisi 17262, Anda tidak perlu menyetel GOPATH.

Namun sejak Go 1.11 dan modul-modulnya, kini Anda dapat membuat seluruh proyek tanpa pernah menggunakan GOPATH default sama sekali: semuanya akan tetap bersifat lokal pada proyek Anda.

Pada Go 1.11, perintah go memungkinkan penggunaan modul ketika direktori saat ini atau direktori induk mana pun memiliki go.mod, asalkan direktori tersebut berada di luar $GOPATH/src.
(Di dalam $GOPATH/src, untuk kompatibilitas, perintah go masih berjalan di versi lama mode GOPATH, meskipun go.mod ditemukan)

person VonC    schedule 24.06.2019