рдЧреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдХреБрд▓ рдкреНрд░рдмрдВрдзрди: рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЧрд╛рдЗрдб

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░ред рдЧреЛрд▓рдВрдЧ рдбреЗрд╡рд▓рдкрд░ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ , рд╣рдордиреЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдЕрдиреБрд╡рд╛рдж рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред



рдореЙрдбреНрдпреВрд▓ рдЧреЛ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдПрдХ рдкреНрд░рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рдореЙрдбреНрдпреВрд▓ рдХреЛ 1.13 рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрдХреБрд▓ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдирдП рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдпрд╣ рд╡рд┐рд╖рдп рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╕рд╛рдорд╛рдиреНрдп рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рджреВрд╕рд░реЛрдВ рдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рдФрд░ рдпреБрдХреНрддрд┐рдпрд╛рдВ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреИрд╕реЗ рдореБрдЭреЗ рдЧреЛ рдореЗрдВ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрди рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рд╣рдо рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рдЪрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рдХрдо рд╕реНрдкрд╖реНрдЯ рдкрд╣рд▓реБрдУрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдХреНрд░реЗрддрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЙрдкрдХрд░рдг рдирд┐рд░реНрднрд░рддрд╛ рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреЛ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ рдФрд░ рд╡рд┐рдХреА рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВред, рдЬреИрд╕реЗ рдЖрдкрдХреЗ рд╣рд╛рде рдХреЗ рдкреАрдЫреЗ, рдпрд╣ рд▓реЗрдЦ рд╢рд╛рдпрдж рдЖрдкрдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрдИ рдШрдВрдЯреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реИред

рддреЛ рдЕрдЧрд░ рдЖрдк рд░рд╛рд╕реНрддреЗ рдореЗрдВ рд╣реИрдВ, рддреЛ рдХреВрджреЗрдВ рдФрд░ рд╕рд╡рд╛рд░реА рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВред



рдЬрд▓реНрджреА рд╢реБрд░реВ


рдпрджрд┐ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХреАрдХреГрдд рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ

go mod init

рдпрд╛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдпрд╣ рдЖрдкрдХреЗ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдирд╛рдо, URL рдФрд░ рдЖрдпрд╛рдд рдкрде рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реИ:

go mod init github.com/you/hello

рдпрд╣ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдЧрд╛ go.mod, рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг (рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рджреГрд╢реНрдп рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рдПрдХ рддрд░рд╣ рд╕реЗ package.json, рдФрд░ package-lock.jsonрдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдпреБрдХреНрдд рд╣реИ) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдврд▓рд╛рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ :

module github.com/you/hello
go 1.12

go getрдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдирдИ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдПрдБ :

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджреНрдпрдкрд┐ рдЖрдк рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдк рдпрд╣рд╛рдБ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдмрд╛рдж рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ, рд╕реЗрд╡рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред

# use Git tags
go get github.com/go-chi/chi@v4.0.1
# or Git branch name
go get github.com/go-chi/chi@master
# or Git commit hash
go get github.com/go-chi/chi@08c92af

рдЕрдм рд╣рдорд╛рд░реА рдлрд╛рдЗрд▓ go.modрдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

module github.com/you/hello
go 1.12
require github.com/go-chi/chi v4.0.2+incompatible // indirect

рдкреНрд░рддреНрдпрдп рдЙрди +incompatibleрд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рдЧреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдпрд╛ рдЙрдирдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддреЗ рд╣реИрдВред

рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд╣реАрдВ рднреА рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ // indirectред рд╣рдо рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

go mod tidy

рдЖрдкрдХреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рдпрд╛ рддреЛ рдЕрдкреНрд░рдпреБрдХреНрдд рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ рдпрд╛ рдХрд┐рд╕реА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ // indirectред

рдпрджрд┐ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдХреЛрдИ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИ go.mod(рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрднреА рддрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рддреЛ рдЗрд╕рдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдореВрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рдПрдВрдЧреА go.mod(рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреА рдлрд╝рд╛рдЗрд▓ go.mod)рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде // indirectрдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡реЗ рд╕реАрдзреЗ рдЖрдпрд╛рдд рд╕реЗ рдирд╣реАрдВ рд╣реИрдВ рдЖрдкрдХреА

рд╡реИрд╢реНрд╡рд┐рдХ рдпреЛрдЬрдирд╛ рдореЗрдВ, рд▓рдХреНрд╖реНрдп go mod tidyрдУрдПрд╕, рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдЯреИрдЧ рдХреЗ рдЕрдиреНрдп рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЪрд▓рд╛рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред

рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛рдПредgo.sumред рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рд▓реЙрдХ рдлрд╛рдЗрд▓ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ go.modрдкрд╣рд▓реЗ рд╕реЗ рд╣реА 100% рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ go.sumрд╕рддреНрдпрд╛рдкрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╣реИ: рдЗрд╕рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдЪреЗрдХрд╕рдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ go.sumрдПрдХ рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореЙрдбреНрдпреВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд┐рдд рдЪреЗрдХрд╕рдо рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЪреЗрдХрд╕рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдмрд╛рдж рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред


Mkcert рдмрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЪрд▓реЗ (рд╡рд┐рдХреНрд░реЗрддрд╛ / рдкрд┐рдЫрд▓реА рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП) рдХреЗ рд╕рд╛рде рдФрд░ рд╕рдм рдХреБрдЫ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛
https://github.com/FiloSottile/mkcert/commit/26ac5f35395fb9cba3805faf1a5a04d260271291

$ GO111MODULE=on go1.11rc1 mod init
$ GO111MODULE=on go1.11rc1 mod vendor
$ git add go.mod go.sum vendor
$ git rm Gopkg.lock Gopkg.toml Makefile



рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╢реНрди: рдХреНрдпрд╛ рдореБрдЭреЗ go.sumрдЬреАрдЖрдИрдЯреА рдореЗрдВ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ?
A: рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рд╛рдБред рдЗрд╕рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдорд╛рд▓рд┐рдХреЛрдВ рдХреЛ рдЕрдиреНрдп GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдХрд╕реНрдЯрдо рдЖрдпрд╛рдд рдкрде рдХреЗ рдорд╛рд▓рд┐рдХреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ, рдХреБрдЫ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд╣реА рдореЙрдбрд▓ рд╣реИ рдЬреЛ рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╣реИрд╢ рд╣реИред

go buildрдФрд░ рдЖрджреЗрд╢реЛрдВ go testрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ, рд╕рднреА рд▓рд╛рдкрддрд╛ рдирд┐рд░реНрднрд░рддрд╛ рд▓реЛрдб рдпрджреНрдпрдкрд┐ рдЖрдк рдХреА рдорджрдж рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╣реЛрдЧрд╛ go mod downloadрдкреВрд░реНрд╡рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕реНрдерд╛рдиреАрдп рдХреИрд╢ рдХрд┐ рд╕реАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рд╣рдорд╛рд░реЗ рд╕рднреА рдкреИрдХреЗрдЬ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВ $GOPATH/pkg/modред рд╣рдо рдЗрд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред

рдЕрдкрдЧреНрд░реЗрдб рдкреИрдХреЗрдЬ рдкреИрдХреЗрдЬ


рдЖрдк go get -uрдпрд╛ рддреЛ go get -u=patchрдХреНрд░рдорд╢рдГ рдирд╡реАрдирддрдо рдорд╛рдореВрд▓реА рд╕рдВрд╕реНрдХрд░рдг рдпрд╛ рдкреИрдЪ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдЖрдк рдЙрд╕ рдЬреИрд╕реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЧреЛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХреЛрдб рдХреЛ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

  • рдореИрдЪ рд╕реЗрдореЗрд╕реНрдЯрд░ (рдЙрджрд╛рд╣рд░рдг рдЯреИрдЧ VCS v1.2.3)ред
  • рдпрджрд┐ рдореЙрдбреНрдпреВрд▓ рд╕рдВрд╕реНрдХрд░рдг v2 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рд╣реИ, рддреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг /vNрдХреЛ рдлрд╝рд╛рдЗрд▓ go.modрдореЗрдВ рдФрд░ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдкрде рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдкрде рдХреЗ рдЕрдВрдд рдореЗрдВ рджреЛрдиреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП :

import "github.com/you/hello/v2"

рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдпрд╣ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рдВрдХреБрд▓ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдПрдХ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ ( рд╣реАрд░рд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рджреЗрдЦреЗрдВ )ред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рддреЗ рд╕рдордп рдЧреЛ рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИред

рдЖрдпрд╛рддрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреА рдЬрдЧрд╣


рдЖрдк рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╛рдВрдЯреЗ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реНрдерд╛рдиреАрдп рдкрде рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ replace:

go mod edit -replace github.com/go-chi/chi=./packages/chi

рдкрд░рд┐рдгрд╛рдо:

module github.com/you/hello
go 1.12
require github.com/go-chi/chi v4.0.2+incompatible
replace github.com/go-chi/chi => ./packages/chi

рдЖрдк рд▓рд╛рдЗрди рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

go mod edit -dropreplace github.com/go-chi/chi

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди


рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ, рд╕рднреА рдЧреЛ рдХреЛрдб рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдореЛрдиреЛ-рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЧрдП рдереЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣реА Google рдЕрдкрдиреЗ рдХреЛрдб рдЖрдзрд╛рд░ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рднрд╛рд╖рд╛ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЧреЛ рдореЙрдбреНрдпреВрд▓ рдПрдХ рдкреНрд░рд╕реНрдерд╛рди рд╣реИред рдЕрдм рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ $GOPATHред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд╕рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдирд┐рд░реНрднрд░рддрд╛ рдЕрднреА рднреА рд░рдЦреА рдЧрдИ рд╣реИ $GOPATH/pkg/modред рдпрджрд┐ рдЖрдк рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд╣рд░ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╡реЗ рдХреЗрд╡рд▓ рдЖрдкрдХреЗ IDE рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред



рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдЧреЛ рдХреЛрдбрдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдерд╛ред

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдХрдИ (рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ) рддрд░реАрдХреЗ рд╣реИрдВред

рд╡рд┐рдХрд▓реНрдк 1. рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ GOPATH рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред


рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рдЙрд▓реНрдЯрд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдПрдХ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВ , рддреЛ рдЖрдк GOPATH рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗ рддрд╛рдХрд┐ рдкреИрдХреЗрдЬ рд╣реЛрд╕реНрдЯ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рд╣реЛ рд╕рдХреЗрдВ:

version: '3.7'

services:
  app:
    command: tail -f /dev/null
    image: golang:1.12.6-stretch
    environment:
      #        - /code/.go/pkg/mod
      - GOPATH=/code/.go
    ports:
      - 8000:8000
    volumes:
      - ./:/code:cached
    working_dir: /code

рд▓реЛрдХрдкреНрд░рд┐рдп рдЖрдИрдбреАрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ (рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░) рд╕реНрддрд░ рдкрд░ GOPATH рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:



рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдПрдХрдорд╛рддреНрд░ рджреЛрд╖ рдореЗрдЬрдмрд╛рди рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЧреЛ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреА рдХрдореА рд╣реИред рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╕рднреА рдЧреЛ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╡рд┐рдХрд▓реНрдк 2: рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛


рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ vendor:

go mod vendor

рдЗрд╕реЗ рддреБрд░рдВрдд рдиреЛрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рд╣рдо рд╡рд┐рдХреНрд░реЗрддрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реАрдзреЗ рд╕рд╛рдордЧреНрд░реА рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ : рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рд╣рдо рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реИ, рддреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ $GOPATH/pkg/modрдФрд░ рдлрд┐рд░ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрдИ рдирдИ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ:

  1. рдЧреЛ рд╕рднреА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рдХреИрд╢ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛ $GOPATH/pkg/mod/cacheред
  2. рд╕рднреА рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ $GOPATH/pkg/modред
  3. рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЧреЛ, рдЗрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХ vendorрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдЧрд╛ , рдЙрджрд╛рд╣рд░рдгреЛрдВ, рдкрд░реАрдХреНрд╖рдгреЛрдВ, рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдХрд░, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд╕реАрдзреЗ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдирдП рдмрдирд╛рдП рдЧрдП рд╡рд┐рдХреНрд░реЗрддрд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рдЧрд╛рдпрдм рд╣реИрдВ:



рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЙрдХрд░ рдХрдВрдкреЛрдЬ рдлрд╛рдЗрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ (рд╡реЙрд▓реНрдпреВрдо рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ):

version: '3.7'

services:
  app:
    command: tail -f /dev/null
    image: golang:1.12.6-stretch
    ports:
      - 8000:8000
    volumes:
     #    go,           
      - modules:/go/pkg/mod/cache
      - ./:/code:cached
    working_dir: /code 

volumes:
  modules:
    driver: local

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдЗрд╕ рд╡рд┐рдХреНрд░реЗрддрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдХреЙрдорд┐рдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ рдпрд╛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рдПрдХ рд╕рдЦреНрддреА рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдХреБрдЫ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдореИрдВ рдХреБрдЫ Go рдЕрдиреБрдЪрд░ рдФрд░ рдЖрдВрд╢рд┐рдХ рд╡реЗрдВрдбрд┐рдВрдЧ (I?) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдСрдлрд╝рд░ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдкрдврд╝рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдпрд╣ рдЖрднрд╛рд╕ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдереАред Reddit рдкрд░ рдЯрд┐рдкреНрдкрдгреАрдХрд╛рд░реЛрдВ

рдореЗрдВ рд╕реЗ рдПрдХ рдиреЗ рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдХреБрдЫ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рдиреЗ рдореЗрдВ рдорджрдж рдХреА:

рдЖрдорддреМрд░ рдкрд░ рд▓реЛрдЧ рдиреЗрдЯрд╡рд░реНрдХ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рдмрд┐рдирд╛ рддрдВрдЧ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреА рдЗрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЬреАрдердм рд╡рд┐рдлрд▓рддрд╛ рдпрд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рддреИрдпрд╛рд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛, рдФрд░ рдорд╛рдирдХ рд╡реАрд╕реАрдПрд╕ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рдЖрд╕рд╛рди рдСрдбрд┐рдЯ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдЖрджрд┐ рдЬреИрд╕реЗ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╡реЗрдВрдбрд░ рдХрд░рддреЗ рд╣реИрдВред ред

рд╣рд╛рдБ, рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛ рд╕рдХрддреА рд╣реИ рд╕реЗ рдХреБрдЫ рднреА рддрд░рд╣ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред

рдЧреЛ рдХрдорд╛рдВрдб рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдк рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡реЗрдВрдбрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ GOFLAGS=-mod=vendorред рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдЭрдВрдбреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ go getрдЖрдкрдХреЗ рджреИрдирд┐рдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдХреЛрдИ рдЕрдиреНрдп рд▓рд╛рдн рдкреНрд░рджрд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ :



рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реЗрдВрдбрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рд╕реНрдерд╛рди рдЖрдкрдХреА рдЖрдИрдбреАрдИ рд╣реИ:



рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рд╡рд┐рдХреНрд░реЗрддрд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ред

рдЪрд░рдг 1. рдЖрд╡рд╢реНрдпрдХрддрд╛


рдЖрдк рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ go get:

go get github.com/rs/zerolog@v1.14.3

рдЪрд░рдг 2. рдЖрдпрд╛рдд


рдлрд┐рд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ рдЖрдпрд╛рдд рдХрд░реЗрдВ:

import (
   _ "github.com/rs/zerolog"
)

рдЪрд░рдг 3. рд╡реЗрдВрдбрд┐рдВрдЧ


рдЕрдВрдд рдореЗрдВ, рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ:

go mod vendor

рдХреБрдЫ рдореЙрдбреНрдпреВрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдб рд╡рд┐рдХреНрд░реЗрддрд╛ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд┐рдд рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдЬреЛ рдЗрд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╕реЗ рдЬреБрдбрд╝реА рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред

go mod vendorрдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдорд┐рд╕реНрдб рдЖрдпрд╛рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдЪрд░рдг 1 рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ (рдпрджрд┐ рдЖрдк рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЪрд░рдг 2 рдХреЗ рдмрд┐рдирд╛, рдпрд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдХреЛ рдирд╣реАрдВ рдЙрдард╛рдПрдЧрд╛ред

рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдЬрдмрд╛рди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдпрд╣ рдЖрдкрдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рдпрд╣ рднреНрд░рд╛рдордХ рд╣реИред



рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ GOPATH рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдПрдХ рдХреНрд▓реАрдирд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рддреНрдпрд╛рдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ go getред рдлрд┐рд░ рднреА, рдореИрдВ рджреЛрдиреЛрдВ рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдХреНрд░реЗрддрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ, рдЬреИрд╕реЗ PHP, рд░реВрдмреА, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЖрджрд┐ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдзреЛрдЦрд╛рдзрдбрд╝реА рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЧреЛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред

рдЙрдкрдХрд░рдг рдирд┐рд░реНрднрд░рддрд╛


рд╣рдореЗрдВ рдХреБрдЫ рдЧреЛ-рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЙрдкрдХрд░рдг рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг CompileDaemon рд╣реИ , рдЬреЛ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдореЙрдирд┐рдЯрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдЕрдиреБрд╢рдВрд╕рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг tools.goрдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ (рдирд╛рдо рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛) рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ:

// +build tools
package tools
import (
_ "github.com/githubnemo/CompileDaemon"
)

  • рд╕реАрдорд╛ // +build toolsрдЖрдкрдХреЗ рдирд┐рдпрдорд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЗ рдЙрдкрдХрд░рдг рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИред
  • рдЖрдпрд╛рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ go.modрдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЬрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ ред

рддреЛ рд╡рд╣ рд╕рдм рд╣реИред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рдЧреЛ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ, рддреЛ рдЖрдк рдЙрддрдирд╛ рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ рдЬрд┐рддрдирд╛ рдореИрдВ рдерд╛ред рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП Go Modules wiki рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред



рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░ рдЬрд╛рдУред



All Articles