koding / kite

Micro-service framework in Go
https://godoc.org/github.com/koding/kite
MIT License
3.26k stars 300 forks source link

fix multiple-value in singble value context issue #217

Closed coldfire-x closed 6 years ago

coldfire-x commented 6 years ago

kite/kite.go:174:22: multiple-value uuid.NewV4() in single-value context

rjeczalik commented 6 years ago

https://ci.appveyor.com/project/koding-bot/kite/build/234

# github.com/koding/kite
.\kite.go:174:12: cannot assign 1 values to 2 variables

If you want to use newer version of the uuid package, you'd need to update Gopkg.toml file as well.

Nifty255 commented 6 years ago

@rjeczalik this bug is occurring for users with unmodified "go get"s such as myself. This means koding/kite is downloading a version of the uuid package with which it is not compatible. The two possible fixes are to either fix which version of uuid kite is using, or to fix the incompatibility in the code (as done in this pull request).

rjeczalik commented 6 years ago

@Nifty255 There's also 3rd option - use dep tool to vendor kite package in your project. The dep tool will automatically fetch the correct version of the uuid package as specified in Gopkg.toml.

Nifty255 commented 6 years ago

Many developers starting in Go are not going to know to do that. They're only going to know go get, which is frankly much simpler and IMO should be more carefully supported than dep.

On Wed, Mar 28, 2018 at 12:06 AM Rafal Jeczalik notifications@github.com wrote:

@Nifty255 https://github.com/Nifty255 There's also 3rd option - use dep tool to vendor kite package in your project. The dep tool will automatically fetch the correct version of the uuid package as specified in Gopkg.toml https://github.com/koding/kite/blob/master/Gopkg.toml#L89.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/koding/kite/pull/217#issuecomment-376783890, or mute the thread https://github.com/notifications/unsubscribe-auth/ADWscNvmwSWqzBAW0FQmkV34lF9bQobvks5tizZpgaJpZM4R-RRC .

rjeczalik commented 6 years ago

The way go get currently behave is irrelevant, as it does not manage dependencies yet. There is early work to support package versioning in rsc's vgo fork, but until it's in, vendor tools are the correct solution.

If master HEAD of uuid package is backward-compatible in behaviour (I assume only API changed), I see no problem to update both kite's Gopkg.toml and source code to adapt for the newest uuid version, which could ameliorate the problem you've described. If you want to send PR I can look at it 😄

Nifty255 commented 6 years ago

It appears go get at the least did indeed get uuid's master HEAD, and by only adding a blank variable just as this request did, it builds perfectly.

On Wed, Mar 28, 2018 at 12:29 AM Rafal Jeczalik notifications@github.com wrote:

The way go get currently behave is irrelevant, as it does not manage dependencies yet. There is early work to support package versioning in rsc's vgo fork, but until it's in, vendor tools are the correct solution.

If master HEAD of uuid package is backward-compatible in behaviour (I assume only API changed), I see no problem to update both kite's Gopkg.toml and source code to adapt for the newest uuid version, which could ameliorate the problem you've described. If you want to send PR I can look at it 😄

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/koding/kite/pull/217#issuecomment-376789224, or mute the thread https://github.com/notifications/unsubscribe-auth/ADWscJgz9Oi4I8BchdbjelxgTnolcf7nks5tizvpgaJpZM4R-RRC .