完整报错
Explicit 'optional' labels are disallowed in the Proto3 syntax. To define 'optional' fields in Proto3, simply remove the 'optional' label, as fields are 'optional' by default.
报错原因
protoc的版本太低,或者是protoc没有写入系统路径,可以先试着写入系统路径
解决方案
卸载旧版本
sudo yum remove protobuf protobuf-c protobuf-compiler -y
sudo rm -f /usr/bin/protoc     
sudo rm -rf /usr/include/google/protobuf  
下载
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.15.0/protoc-3.15.0-linux-x86_64.zip
unzip protoc-3.15.0-linux-x86_64.zip -d protoc-3.15.0
sudo mv protoc-3.15.0/bin/protoc /usr/local/bin/
sudo cp -r protoc-3.15.0/include/google /usr/local/include/
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
系统路径
echo 'export PATH="/usr/local/bin:/root/go/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
验证安装
protoc --version  # 应输出 protoc 版本(如 3.15.0)
protoc-gen-go --version  # 应输出生成器版本
                  
                  
                  
                  
                            
                    
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
                    
              
            
                  
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
					
					
					


            