ไม่พบ GOPATH แม้แต่ตั้งค่าเส้นทาง env

การใช้ผู้ใช้รูทที่ติดตั้งไว้จะไปบน linux

กำหนดเส้นทางไปในไฟล์ ~/.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

แต่ go env กลับ:

zsh: command not found: go

ทำไม


ส่วนที่เพิ่มเข้าไป

$ whereis go
go: /usr/local/go

ตั้งค่า /usr/local เป็น ~/.zshrc:

export PATH=$PATH:/usr/local/

แหล่งที่มามัน เรียกใช้ go env ส่งคืน:

zsh: permission denied: go

person 02040402    schedule 24.06.2019    source แหล่งที่มา
comment
เพิ่มไดเร็กทอรีที่คุณติดตั้งไปที่ PATH ของคุณ   -  person Cerise Limón    schedule 24.06.2019
comment
@CeriseLimón เพิ่มบางอย่างให้กับคำถาม   -  person 02040402    schedule 24.06.2019
comment
ให้ export PATH=/usr/local/go/bin:${PATH} ตัวเอง   -  person Scott Stensland    schedule 24.06.2019
comment
@ScottStensland มันใช้งานได้แล้ว! ดังนั้น GOPATH ควรเป็น /usr/local/go อันไหนถูกติดตั้ง?   -  person 02040402    schedule 24.06.2019
comment
@ 02040402 อย่าตั้งค่า GOPATH เป็นไดเร็กทอรีการติดตั้ง วิธีง่ายๆ คือไม่ต้องตั้งค่า GOPATH เลย ในกรณีนี้ เครื่องมือ go จะใช้ $HOME/go เป็นพื้นที่ทำงาน   -  person Cerise Limón    schedule 24.06.2019


คำตอบ (1)


ตามที่แสดงความคิดเห็น ~/.zshrc ของคุณควรตั้งค่า PATH เพื่ออ้างอิงถึง Go ดังที่เห็นใน Go วิกิ:

แก้ไขไฟล์ ~/.zshrc ของคุณเพื่อเพิ่มบรรทัดต่อไปนี้:

export GOPATH=$HOME/go

บันทึกและออกจากโปรแกรมแก้ไขของคุณ จากนั้นให้แหล่งที่มา ~/.zshrc ของคุณ

source ~/.zshrc

ตามที่อธิบายไว้ใน default GOPATH และ ฉบับ 17262 คุณไม่จำเป็นต้องตั้งค่า GOPATH

แต่เนื่องจาก Go 1.11 และโมดูลต่างๆ คุณจึงสามารถสร้างโครงการทั้งหมดโดยไม่ต้องมี เคยใช้ค่าเริ่มต้น GOPATH เลย: ทุกอย่างจะยังคงอยู่ในโปรเจ็กต์ของคุณ

ตั้งแต่ Go 1.11 คำสั่ง go จะเปิดใช้งานการใช้โมดูลเมื่อไดเร็กทอรีปัจจุบันหรือไดเร็กทอรีพาเรนต์ใดๆ มี go.mod โดยที่ไดเร็กทอรีอยู่ภายนอก $GOPATH/src
(ภายใน $GOPATH/src เพื่อความเข้ากันได้ คำสั่ง go ยังคงทำงานในเวอร์ชันเก่า โหมด GOPATH แม้ว่าจะพบ go.mod ก็ตาม)

person VonC    schedule 24.06.2019