मैं मैक पर गोलांग + जीआरपीसी सर्वर बनाने की कोशिश कर रहा हूं। मैंने गोलंग, जीआरपीसी, प्रोटोकॉल बफर स्थापित किया और इस उदाहरण के बाद उस जीआरपीसी सर्वर की जाँच की https://grpc.io /docs/quickstart/go/ समस्या यह है कि जब मैं प्रोटोकॉल बफर का उपयोग करके .proto फ़ाइल को संकलित करने का प्रयास करता हूं तो उसने कहा कि 'गायब इनपुट' या 'प्रोग्राम निष्पादन योग्य नहीं है'।

प्रोटोकॉल बफर और जीआरपीसी स्थापित करें

brew install grpc protobuf

गोलांग आधारित प्रोटोक प्लगइन स्थापित करें

go get github.com/golang/protobuf/protoc-gen-go

प्रोटो पथ

which protoc
/usr/local/bin/protoc

उदाहरण स्थान

/Users/usrname/go/src/google.golang.org/grpc/examples/helloworld

प्रोटो कंपाइलर चलाएं

protoc -I=/Users/username/go/src/google.golang.org/grpc/examples/helloworld/helloworld/ --go_out=/Users/username/go/src/google.golang.org/grpc/examples/helloworld/helloworld/ /Users/username/go/src/google.golang.org/grpc/examples/helloworld/helloworld/helloworld.proto

त्रुटि संदेश

protoc-gen-go: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable
--go_out: protoc-gen-go: Plugin failed with status code 1.
1
user11896097 4 अक्टूबर 2019, 07:00

1 उत्तर

सबसे बढ़िया उत्तर

इसका उल्लेख golang/protobuf अंक 795 में किया गया था

देखें Installation पेज का सेक्शन README:

रिपॉजिटरी से कोड लें और प्रोटो पैकेज इंस्टॉल करें।
go get -u github.com/golang/protobuf/protoc-gen-go को चलाने का सबसे आसान तरीका है।

कंपाइलर प्लगइन, protoc-gen-go, $GOPATH/bin में तब तक इंस्टाल किया जाएगा जब तक कि $GOBIN सेट न हो। इसे खोजने के लिए यह आपके $PATH प्रोटोकॉल कंपाइलर, protoc के लिए होना चाहिए।

इसलिए अपने $GOPATH (~/go अगर सेट नहीं है तो डिफ़ॉल्ट रूप से) के मान की दोबारा जांच करें।

अगर $GOPATH/bin (या ~/go/bin) आपके $PATH में?

OP कैमिला पुष्टि करता है कि यह नहीं है:

$PATH में :/Users/username/go/bin/protoc-gen-go भी है

इसमें :/Users/username/go/bin होना चाहिए

0
VonC 4 अक्टूबर 2019, 10:24