Saya mencoba melakukan go get
:
go get github.com/go-sql-driver/mysql
dan gagal dengan kesalahan berikut:
package github.com/go-sql-driver/mysql: cannot download, $GOPATH not set. For more details see: go help gopath
ketika saya melakukan go env
, daftar nilai Go ditampilkan seperti di bawah ini:
ubuntu@ip-xxx-x-xx-x:~$ go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"
jelas GOPATH tidak diatur, bagaimana dan di mana saya mengaturnya?
Saya melihat banyak utas yang menyebutkan kesalahan ini tetapi tidak ada yang memberikan jawaban untuk pertanyaan saya, file mana yang perlu diedit untuk memberikan nilai untuk jalur ini?
GOPATH
untuk Anda: lihat jawaban saya di bawah ini .Jawaban:
Jalan baru:
Lihatlah jawaban ini.
Cara lama:
Cukup tambahkan baris berikut ke ~ / .bashrc dan ini akan bertahan. Namun, Anda dapat menggunakan jalur lain yang Anda suka sebagai GOPATH alih-alih $ HOME / masuk dalam sampel saya.
sumber
/usr/share/go
di Ubuntu 13,10 saya.$ source ~/.bashrc
;)Ubuntu 14.04
Selain itu Anda dapat menambahkan string ini ke file
sumber
GOPATH harus diatur ke direktori kosong yang baru dibuat. Ini adalah "ruang kerja", tempat ia mengunduh paket, dan lain-lain. Saya menggunakan ~ / .go.
Sebagai contoh:
sumber: http://www.larry-price.com/blog/2013/12/15/setting-up-a-go-environment-in-ubuntu-12-dot-04/
sumber
Cara Baru: Go Modul
Sejak Go 1.11, Anda tidak perlu menggunakan GOPATH lagi. Cukup buka direktori proyek Anda dan lakukan ini sekali:
Cara Lama: GOPATH
Jika Anda bersikeras bekerja dengan GOPATH maka perhatikan ini:
Dari dokumentasi :
sumber
Jika misalnya, ini adalah Ubuntu, setelah menginstal paket:
Cukup tambahkan baris berikut ke ~ / .bashrc (Dari pengguna Anda)
sumber
Tidak perlu mengedit file apa pun, kita cukup menggunakan perintah di atas untuk langsung mengedit variabel lingkungan Go.
sumber
Tulis kode ini di Terminal.
Catatan : Ini akan mengatur ulang pada setiap jendela Terminal baru atau sistem restart.
Agar gigih, tempel kode di bawah ini di
.zshrc
atau.bashrc
file Anda sesuai dengan shell Anda. File-file itu di Direktori Beranda Anda . Akan seperti di bawah ini.sumber
Anda akan membutuhkan GOPATH nanti juga. Jadi tambahkan ke
~/.bashrc
.sumber
Jika Anda telah menyiapkan apa pun yang memerlukan modifikasi variabel lingkungan misalnya Java, Go dll ini akan sangat akrab.
Saya akan berasumsi bahwa Anda memiliki struktur direktori berikut di suatu tempat sebagai jalur Go Anda:
sudo nano /etc/environment
PATH=...
dan lanjutkan dan tambahkan titik dua:
setelah jalur terakhir lalu tempelkango path
misal lengkap Anda/home/user/gocode
dan Anda selesai, Ini harus membuatnya gigih melalui sistem.
sumber
Inilah yang membuatnya bekerja untuk saya di Ubuntu 15.10 menggunakan
fish shell
:Lalu saya harus mengubah izin pada
go
folder (itu diatur ke root)sumber
go path dapat berupa setiap tempat yang Anda inginkan, cukup buat direktori dan setel variabel jalur global atas nama GOPATH ke lingkungan Anda.
sumber
Dengan Go 1.8 (Q2 2017), Anda tidak perlu mengedit file apa pun jika Anda menerima nilai default
GOPATH
(ditetapkan untuk Anda)Anda dapat melihat komentar pada masalah 17262 dan suara twitter terkait :
sumber
Lingkungan go saya terlihat mirip dengan milik Anda.
Saya mengatasinya dengan mengatur GOPATH ke / usr / lib / go . Cobalah.
sumber
GOPATH adalah variabel lingkungan ke lokasi ruang kerja Anda. GOROOT adalah variabel lingkungan ke direktori instalasi Anda. Meskipun GOROOT dan GOPATH secara otomatis diatur (jika tidak akan ada bug) selama waktu instalasi, untuk menentukannya secara manual Anda dapat mengikuti proses di bawah ini. Selain itu, untuk informasi lebih lanjut, Anda dapat merujuk ke halaman wiki GO .
Lebih baik mengatur GOPATH ke direktori di dalam direktori home Anda, mis. $ HOME / go,% USERPROFILE% \ go (Windows).
Pada tipe Terminal Anda
dalam dokumen yang terbuka di Terminal tekan i dan tambahkan jalur berikut
tekan ESC dan ketik : x . Terakhir, Anda harus me-restart ( menutup dan membuka ) terminal Anda atau Logout dan Login lagi.
HATI-HATI Jangan mengatur GOROOT dan GOPATH ke direktori yang sama, jika tidak, Anda akan mendapat peringatan.
sumber
Dan Anda mungkin ingin memeriksa dengan $ go env
sumber
(Ubuntu)
Jika Anda tidak menetapkan GOPATH, standarnya akan digunakan.
Anda harus menambahkan $ GOPATH / bin ke PATH Anda untuk mengeksekusi binary yang terinstal di $ GOPATH / bin, atau Anda perlu mengetik $ GOPATH / bin / the-command. Tambahkan ini ke ~ / .bash_profile Anda
Perintah GOPATH saat ini:
Mengubah perintah GOPATH:
sumber
Ini merupakan hal yang paling menyebalkan untuk dihadapi. Dengan harapan menghemat waktu Anda.
JIKA pergi diinstal sebagai pengguna root. Pengguna root file teks bash_profile sistem Anda ~ / .bash_profile perlu memiliki $ GOROOT yang ditugaskan ke direktori install go dan $ GOPATH perlu ditugaskan untuk masuk ke direktori / src.
pastikan path untuk menjalankan biner ada di path Anda di .bash_profile
PATH = $ PATH: $ HOME / bin: / usr / local / bin: / usr / local / go / bin
PATH ini dapat sepanjang string yang diperlukan..untuk menambahkan item baru yang dipisahkan oleh titik dua:
keluar vi editor dan simpan profil bash (: wq artinya menulis dan berhenti)
Anda harus keluar dari terminal dan masuk kembali ke profil untuk memulai lagi..atau Anda bisa mulai memulainya dengan menggunakan ekspor.
Anda dapat memverifikasi go env:
Yay!
Sekarang Anda dapat sudo dan pergi akan dapat mengunduh dan membuat direktori di dalam go / src dan Anda dapat melihat apa yang Anda coba selesaikan.
contoh
Sekarang Anda akan mengalami masalah lain .. Anda mungkin tidak menginstal git .. itu petualangan lain .. :)
sumber
go get
meletakkan apa pun di dekat AndaGOROOT
.Di mesin Fedora 20 saya, saya menambahkan baris berikut ke ~ / .bashrc saya:
sumber
GOROOT
. (Kecuali jika Anda berada di subset yang sangat kecil dari orang-orang yang menggunakan distribusi biner dari Go tetapi menginstalnya di suatu tempat di mana non-standar.)Solusi lain: Ekspor setiap
GO*
variabel lingkungan darigo env
.bashrc:
sumber
eval
biasanya ide yang buruk dan berlebihan dalam situasi ini IMHOGOPATH
sajaEdit Anda
~/.bash_profile
untuk menambahkan baris berikut:Simpan dan keluar dari editor Anda. Kemudian, sumber
~/.bash_profile
Catatan: Tetapkan jalur GOBIN untuk menghasilkan file biner saat go install dijalankan
sumber
Script ini akan membantu Anda mengganti Gopaths. https://github.com/buffonomics/goswitch
sumber
Seperti tertulis dalam instruksi resmi :
Jadi misalnya, jika Anda membuat kode dalam Jetbrains Webstorm (menggunakan plugin Go ), Anda mungkin ingin mengaturnya
GOPATH
sebagai/Users/<user>/WebstormProjects
.Dengan kata sederhana, atur ke mana pun Anda ingin proyek Go Anda berada.
sumber
Anda dapat menggunakan solusi "ekspor" seperti yang disarankan orang lain. Saya ingin memberi Anda solusi lain untuk kenyamanan permanen: Anda dapat menggunakan jalur apa pun sebagai GOPATH saat menjalankan perintah Go.
Pertama, Anda perlu mengunduh alat kecil bernama
gost
: https://github.com/byte16/gost/releases . Jika Anda menggunakan ubuntu, Anda dapat mengunduh versi linux ( https://github.com/byte16/gost/releases/download/v0.1.0/gost_linux_amd64.tar.gz ).Maka Anda perlu menjalankan perintah di bawah ini untuk membukanya:
Anda akan mendapatkan executable
gost
. Anda dapat memindahkannya ke/usr/local/bin
untuk penggunaan yang nyaman:Jalankan perintah di bawah ini untuk menambahkan jalur yang ingin Anda gunakan sebagai GOPATH ke dalam pathspace yang
gost
dipertahankan. Diperlukan untuk memberi nama path yang akan Anda gunakan nanti.Jalankan perintah Go yang Anda inginkan dalam format:
Misalnya, Anda ingin menjalankan
go get github.com/go-sql-driver/mysql
dengan/home/foobar/bar
sebagai GOPATH, lakukan saja seperti di bawah ini:Ini akan membantu Anda untuk mengatur GOPATH dan menjalankan perintah. Tetapi ingat bahwa Anda telah menambahkan path ke
gost
dalam pathspace . Jika Anda berada di bawah level subdirektori apa pun/home/foobar/bar
, Anda bahkan dapat menjalankan perintah di bawah ini yang akan melakukan hal yang sama:gost
adalah Tool of Go Sederhana yang dapat membantu Anda mengelola GOPATHs dan menjalankan perintah Go. Untuk detail lebih lanjut tentang cara menggunakannya untuk menjalankan perintah Go lainnya, Anda bisa menjalankannyagost help goCmdName
. Misalnya Anda ingin tahu lebih banyak tentanginstall
, ketik saja kata-kata di bawah ini di:Anda juga dapat menemukan rincian lebih lanjut dalam README proyek: https://github.com/byte16/gost/blob/master/README.md
sumber
Anda harus memperbarui PATH berdasarkan terminal (bash atau zsh) yang Anda gunakan.
~/.bashrc
atau~/.zshrc
di editorexport GOPATH=$HOME/go:/$HOME/projects/go
Di sini Anda dapat menambahkan satu atau lebih jalur yang dipisahkan oleh tanda titik koma
:
dari berbagai lokasi proyek GO Anda pada sistem keGOPATH
variabel lingkungan yaitu/path/1:path/2:path/3
dll.Dalam kasus saya, saya telah menambahkan 2 jalur, seperti yang ditunjukkan di atas, satu dari root
$HOME/go
dan satunya lagi dari direktori proyek:/$HOME/projects/go
sumber