Saya mencoba memasang doozer seperti ini:
$ goinstall github.com/ha/doozer
Saya mendapatkan kesalahan ini.
goinstall: os: go/build: package could not be found locally goinstall: fmt: go/build: package could not be found locally goinstall: io: go/build: package could not be found locally goinstall: reflect: go/build: package could not be found locally goinstall: math: go/build: package could not be found locally goinstall: rand: go/build: package could not be found locally goinstall: url: go/build: package could not be found locally goinstall: net: go/build: package could not be found locally goinstall: sync: go/build: package could not be found locally goinstall: runtime: go/build: package could not be found locally goinstall: strings: go/build: package could not be found locally goinstall: sort: go/build: package could not be found locally goinstall: strconv: go/build: package could not be found locally goinstall: bytes: go/build: package could not be found locally goinstall: log: go/build: package could not be found locally goinstall: encoding/binary: go/build: package could not be found locally
GOPATH
akan ditetapkan untuk Anda di Go 1.8 (2017). Lihat jawaban saya di bawah inigoinstall
benar-benar kuno sebelum Go1 dan belum ada sejak 2012.Jawaban:
GOPATH
dibahas dalamcmd/go
dokumentasi :GOROOT
dibahas dalam instruksi instalasi :(Versi terbaru dari jawaban Chris Bunch .)
sumber
go
perintah, yang penting untuk bekerja dengan Go. Misalnya penggunaangoinstall
dalam OP sekarang seharusnyago get
./usr/local/Cellar/go/
. Dalam hal ini jalur ekspor harus ditetapkan denganexport GOROOT=/usr/local/Cellar/go/{version}
danexport PATH=$PATH:$GOROOT/bin
.export GOROOT=/usr/local/Cellar/go/1.2/libexec/
agar pekerjaan saya dengan minuman.Berikut ini adalah pengaturan sederhana saya:
GOROOT, GOPATH, PATH diatur sebagai berikut:
Jadi, singkatnya:
GOROOT adalah untuk kompiler / alat yang berasal dari instalasi go.
GOPATH adalah untuk proyek proyek Anda sendiri / perpustakaan pihak ke-3 (diunduh dengan "go get").
sumber
Jalankan pertama
go env
.Jika Anda melihat bahwa perjalanan tidak diinstal, Anda dapat menginstalnya melalui
homebrew
atau melalui paket dan / atau cara lain.Jika Anda melihat output maka Anda
Go
terinstal.Ini menunjukkan kepada Anda semua envs yang ditetapkan dan tidak.
Jika Anda melihat kosong untuk
GOROOT
:which go
(Di komputer saya:/usr/local/go/bin/go
)export GOROOT=/usr/local/go
Jika Anda melihat kosong untuk
GOPATH
:~/GO_PROJECTS
export GOPATH=~/GO_PROJECTS
sumber
which go
melakukannya untukku. Itu menggunakan lokasi instalasi go lain dari instalasi sebelumnya menggunakan Chocolatey. Menghapus folder itu dan menghapusnya dari variabel PATH. Sekarang berhasil. Terima kasih!which go
perintah tidak bekerja untuk saya di Windows 7. Bagaimana cara menemukan di mana saya harus menjalankan perintah iniwhere go
ia akan menunjukkan jalur file yang dieksekusiexport GOPATH=~/GO_PROJECTS
melakukan pekerjaanGOPATH
dibahas di sini :Dan
GOROOT
dibahas di sini :sumber
sudo apt-get install golang
?go env
Anda harus melihat informasi itu, bagi saya itu/usr/lib/go/
Saya membaca
go help gopath
dokumen dan masih sangat bingung, tetapi menemukan nugget kecil ini dari halaman go doc lainnya:http://golang.org/doc/code.html#GOPATH
sumber
GOPATH seharusnya tidak mengarah ke instalasi Go, melainkan ke ruang kerja Anda (lihat https://golang.org/doc/code.html#GOPATH ). Setiap kali Anda menginstal beberapa paket dengan go get atau go install, itu akan mendarat dalam GOPATH. Itulah sebabnya itu memperingatkan Anda, bahwa Anda pasti tidak ingin paket acak dari internet untuk dibuang ke instalasi resmi Anda.
sumber
Dimulai dengan go 1.8 (Q2 2017), GOPATH akan ditetapkan untuk Anda secara default ke $ HOME / go
Lihat edisi 17262 dan komentar Rob Pike:
sumber
Seperti disebutkan di atas:
Untuk Windows , ini bekerja untuk saya (di jendela Ms-dos):
Ini menciptakan variabel GOPATH yang diakui oleh Ms-dos saat digunakan sebagai berikut:
sumber
Mengenai
GOROOT
khusus, Go 1.9 akan mengaturnya secara otomatis ke jalur instalasinya.Bahkan jika Anda memiliki beberapa Go yang diinstal, memanggil yang 1.9.x satu akan diatur
GOROOT
ke/path/to/go/1.9
(sebelum, jika tidak diatur, itu diasumsikan jalur default suka/usr/local/go
atauc:\Go
).Lihat Ulasan CL Go 53370 :
sumber
Pada tahun 2020 dan Go versi 1.13+, di Windows cara terbaik untuk memperbarui GOPATH adalah dengan mengetikkan command prompt:
sumber
Berikut adalah satu solusi (pengguna tunggal):
go
mengeluh jika Anda berubah.gopath
menjadi.go
.Saya berharap mereka pergi dengan bagaimana
rust/cargo
orang - orang lakukan dan meletakkan semuanya di satu tempat.sumber
di osx, saya instal dengan brew, ini adalah pengaturan yang berfungsi untuk saya
sumber
Saya harus menambahkan
ke ~ / .bash_profile saya di Mac OS X
sumber
Ada juga kasus di mana ketika kita menggunakan go, ia mengkompilasi semua file go.
Jadi katakanlah kita memiliki satu file main.go dan kemudian kita mengubah file saat ini menjadi main_old.go dan kemudian menambahkan file main.go baru kita . Lalu ketika kita membangun aplikasi kita semua file go akan dikompilasi. Jadi kesalahan yang terjadi mungkin karena kesalahan kompilasi di beberapa file go lainnya.
sumber
Setelah Go lang diinstal, GOROOT adalah direktori root dari instalasi.
Ketika saya meledak binari Go Lang di direktori Windows C: \, GOROOT saya seharusnya menjadi C: \ go. Jika Diinstal dengan penginstal Windows, mungkin C: \ Program Files \ go (atau C: \ Program Files (x86) \ go, untuk paket 64-bit)
sedangkan GOPATH saya adalah lokasi kode sumber atau ruang kerja Go lang.
Jika kode sumber Go lang saya terletak di C: \ Users \\ GO_Workspace, GOPATH Anda akan seperti di bawah ini:
sumber
Anda tidak perlu mengatur secara eksplisit
GOROOT
(versi Go modern dapat mengetahuinya sendiri berdasarkan lokasi biner go yang Anda jalankan).Juga, dapatkan kesalahan ikuti ketika mencoba untuk bekerja dengan
vgo
:Menghapus GOROOT, memperbarui GOPATH saya dan
export GO111MODULE="on"
menyelesaikan masalah.GOPATH lihat di sini
sumber
nilai harus (MACOS):
sumber
Jika Anda menggunakan distro, Anda harus menunjukkan di mana file-file yang disertakan, misalnya:
(Ini untuk Fedora 20)
sumber