hanwen / go-fuse

FUSE bindings for Go
Other
2.05k stars 328 forks source link

examples don't work due to missing /v2/ import #312

Closed GregorioDiStefano closed 5 years ago

GregorioDiStefano commented 5 years ago

These examples don't work due to this change: https://github.com/hanwen/go-fuse/commit/e9498b6bbccf0f17ddd56006dbf8a87a159e8304

The /v2/ folder doesn't exist on master.

Thanks

hanwen commented 5 years ago

which version of Go are you using? The v2 paths are for modules.

ShayBox commented 5 years ago

Yeah the v2 directory doesn't exist anymore, the examples should be updated, removing the /v2 from the imports fixes the problem. Module or not it doesn't exist.

EDIT: After looking more, there doesn't seem to have ever been a v2 folder, all the files were updated to point to it but it was never made, the entire project is broken currently.

EDIT2: If you're talking about 578bd2e35918972cfa397acc967738ad708f0e68 that's only for modules, you have to also move all the code into a v2 folder if you intend the project to work, not everyone uses modules. (like the project itself, it's trying to reference a v2 folder that doesn't exist)

hanwen commented 5 years ago

Can you confirm this works with modules?

Per https://blog.golang.org/migrating-to-go-modules,

Another scenario in which a module's canonical path may differ from its repository path occurs for Go modules at major version 2 or higher. A Go module with a major version above 1 must include a 
major-version suffix in its module path: for example, version v2.0.0 must have the suffix /v2. 
However, import statements may have referred to the packages within the module without that suffix. For example, non-module users of github.com/russross/blackfriday/v2 at v2.0.1 may have 
imported it as github.com/russross/blackfriday instead, and will need to update the import path to include the /v2 suffix.

the v2 suffix is only necessary for the new API, whcih was introduced a few months ago. The old API should continue to work without v2 imports (as evidenced by the unionfs/ subdirectory).