2014-06-18 5 views
5

हाय प्रोजेक्ट के साथ गो परियोजना, मैं गोलांग के लिए बिल्कुल नया हूं, मैं पुस्तकालयों को सीखने के लिए खिलौना क्लाइंट और सर्वर ऐप लिख रहा हूं।2 निष्पादन योग्य

लेकिन मैं परियोजना फ़ोल्डर है:

[email protected] {~/workspace/gospace/src/github.com/redbrain/station} $ echo $GOPATH 
/Users/philipherron/workspace/gospace 

2 बाइनरी करना चाहते थे:

  • client.go
  • server.go

लेकिन जब मैं निर्माण मुझे मिलता है:

[email protected] {~/workspace/gospace/src/github.com/redbrain/station} $ go build github.com/redbrain/station/ 
# github.com/redbrain/station 
./server.go:5: main redeclared in this block 
    previous declaration at ./client.go:5 

मुझे लगता है ऐसा इसलिए है क्योंकि ऐसा लगता है कि मैं उसी पैकेज में मुख्य रूप से बना रहा हूं।

तो मैं एक ग्राहक और एक सर्वर subdir बनाने की कोशिश की और उन में से प्रत्येक में बाइनरी है, लेकिन मैं मिलता है:

[email protected] {~/workspace/gospace/src/github.com/redbrain/station} $ go build github.com/redbrain/station/client 
go install github.com/redbrain/station/client: build output "client" already exists and is a directory 

मुझे लगता है कि इस वजह से मैं के लेआउट है:

$ tree 
. 
├── client 
│   └── client.go 
└── server 
    └── server.go 

2 directories, 4 files 

यह सुनिश्चित नहीं है कि इस के आसपास कैसे जाना है, वही निर्देशिका में एक ही ग्राहक और सर्वर होना अच्छा होगा, लेकिन शायद यह है कि मुझे चीजों को कैसे करना चाहिए?

+0

गो बिल्ड कमांड आपकी वर्तमान निर्देशिका में निष्पादन योग्य बनाने की कोशिश करता है। इसे उस निर्देशिका से निष्पादित करने का प्रयास करें जहां क्लाइंट नाम की कोई फ़ाइल या निर्देशिका मौजूद नहीं है। – fuz

+0

धन्यवाद हाँ मैंने धन्यवाद नहीं दिया धन्यवाद! – redbrain

उत्तर

7

बस अपनी .go फ़ाइलों का नाम बदलें। संकलक 'क्लाइंट' को लिखने की कोशिश कर रहा है लेकिन 'क्लाइंट' पहले से ही निर्देशिका द्वारा लिया गया है।

$ tree 
. 
├── client 
│ └── main.go 
└── server 
    └── main.go 

2 directories, 4 files 

और/या एक स्क्रिप्ट के रूप में ऊपर अलग संकुल के साथ साथ एक अलग नाम go build -o client client/main.go

+0

धन्यवाद, अब मुझे लगता है कि इतनी मूर्खतापूर्ण है कि मैंने धन्यवाद नहीं दिया। – redbrain

0

के साथ उन्हें आउटपुट, यदि आप Gobin = $ GOPATH/bin तो सेट यह क्लाइंट और सर्वर पैदा करेगा बनाने बिन डीआईआर में और यह डीआईआर नामों के साथ टकरा नहीं जाएगा

संबंधित मुद्दे