apache / rocketmq-operator

Apache RocketMQ Operator
https://rocketmq.apache.org/
Apache License 2.0
310 stars 126 forks source link

Error: err: exit status 1: stderr: build github.com/apache/rocketmq-operator: cannot load io/fs: malformed module path "io/fs": missing dot in first path element #115

Closed MrLYG closed 1 year ago

MrLYG commented 2 years ago

When I use make deploy to deploy the RocketMQ Operator on your Kubernetes cluster, I encounter the following problem:

/home/liyuangang/opensource/apache-rocketmq-operator/bin/controller-gen rbac:roleName=manager-role crd webhook paths="./..." output:dir=deploy output:crd:artifacts:config=deploy/crds
Error: err: exit status 1: stderr: build github.com/apache/rocketmq-operator: cannot load io/fs: malformed module path "io/fs": missing dot in first path element

Usage:
  controller-gen [flags]

Examples:
        # Generate RBAC manifests and crds for all types under apis/,
        # outputting crds to /tmp/crds and everything else to stdout
        controller-gen rbac:roleName=<role name> crd paths=./apis/... output:crd:dir=/tmp/crds output:stdout

        # Generate deepcopy/runtime.Object implementations for a particular file
        controller-gen object paths=./apis/v1beta1/some_types.go

        # Generate OpenAPI v3 schemas for API packages and merge them into existing CRD manifests
        controller-gen schemapatch:manifests=./manifests output:dir=./manifests paths=./pkg/apis/... 

        # Run all the generators for a given project
        controller-gen paths=./apis/...

        # Explain the markers for generating CRDs, and their arguments
        controller-gen crd -ww

Flags:
  -h, --detailed-help count   print out more detailed help
                              (up to -hhh for the most detailed output, or -hhhh for json output)
      --help                  print out usage and a summary of options
      --version               show version
  -w, --which-markers count   print out all markers available with the requested generators
                              (up to -www for the most detailed output, or -wwww for json output)

Options

generators

+webhook                                                                                                           package  generates (partial) {Mutating,Validating}WebhookConfiguration objects.                        
+schemapatch[:generateEmbeddedObjectMeta=<bool>],manifests=<string>[,maxDescLen=<int>]                             package  patches existing CRDs with new schemata.                                                      
+rbac:roleName=<string>                                                                                            package  generates ClusterRole objects.                                                                
+object[:headerFile=<string>][,year=<string>]                                                                      package  generates code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations.  
+crd[:allowDangerousTypes=<bool>][,crdVersions=<[]string>][,generateEmbeddedObjectMeta=<bool>][,maxDescLen=<int>]  package  generates CustomResourceDefinition objects.                                                   

generic

+paths=<[]string>  package  represents paths and go-style path patterns to use as package roots.  

output rules (optionally as output:<generator>:...)

+output:artifacts[:code=<string>],config=<string>  package  outputs artifacts to different locations, depending on whether they're package-associated or not.   
+output:dir=<string>                               package  outputs each artifact to the given directory, regardless of if it's package-associated or not.      
+output:none                                       package  skips outputting anything.                                                                          
+output:stdout                                     package  outputs everything to standard-out, with no separation.                                             

run `controller-gen rbac:roleName=manager-role crd webhook paths=./... output:dir=deploy output:crd:artifacts:config=deploy/crds -w` to see all available markers, or `controller-gen rbac:roleName=manager-role crd webhook paths=./... output:dir=deploy output:crd:artifacts:config=deploy/crds -h` for usage
Makefile:80: recipe for target 'manifests' failed
make: *** [manifests] Error 1

There are my version of go, docker, and operator-sdk

root@BJ:/home/liyuangang/opensource/apache-rocketmq-operator# operator-sdk version
operator-sdk version: "v0.12.0", commit: "2445fcda834ca4b7cf0d6c38fba6317fb219b469", go version: "go1.13.3 linux/amd64"
root@BJ:/home/liyuangang/opensource/apache-rocketmq-operator# go version          
go version go1.13.3 linux/amd64
root@BJ:/home/liyuangang/opensource/apache-rocketmq-operator# docker -v           
Docker version 18.09.9, build 039a7df9ba
root@BJ:/home/liyuangang/opensource/apache-rocketmq-operator# 
caigy commented 2 years ago

Please upgrade golang to 1.16, delete bin/controller-gen and try again.

caigy commented 2 years ago

Please upgrade golang to 1.16, delete bin/controller-gen and try again.

@MrLYG Is this issue resolved in that way?

MrLYG commented 1 year ago

Please upgrade golang to 1.16, delete bin/controller-gen and try again.

@MrLYG Is this issue resolved in that way?

Yes, after upgrading golang to 1.16, I solved this problem. Thank you.