Converting an existing project with a /vendor directory to use Go Modules (go version 1.12). I do go mod init
to generate the go.mod
file. Then I do go get -u ./...
to populate the go.mod file. During this time, it tries to locate a package on github that no longer exists. It is vendored in my /vendor directory.
Until I can upgrade my code to use a different package, how can I continue the conversion to using modules? That is, I want to keep some things vendored (I also have some modified code under /vendor), while other things are handled by go modules.
You can't mix the vendor
directory behavior and modules, each method of dependency resolution precludes the other. You can re-publish the missing package yourself somewhere that go mod
can locate it, or you can redirect it directly to the existing vendored source in your module.
To redirect the source of a module, use the replace
directive in the go.mod file
replace missing/package v0.0.1 => ./vendor/missing/package
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.