Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The New Era of Go Package Management
Search
sam boyer
July 14, 2017
Technology
0
140
The New Era of Go Package Management
Closing keynote of Gophercon 2017.
sam boyer
July 14, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.5k
ウェルネス SaaS × AI、1,000万ユーザーを支える 業界特化 AI プロダクト開発への道のり
hacomono
PRO
0
290
AI駆動開発の実践とその未来
eltociear
1
420
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
260
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
270
ActiveJobUpdates
igaiga
1
270
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
570
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
420
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
3
210
ExpoのインダストリーブースでみたAWSが見せる製造業の未来
hamadakoji
0
180
AWSインフルエンサーへの道 / load of AWS Influencer
whisaiyo
0
170
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
280
Featured
See All Featured
Believing is Seeing
oripsolob
0
11
Practical Orchestrator
shlominoach
190
11k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
23
Done Done
chrislema
186
16k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
Music & Morning Musume
bryan
46
7k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
34
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The Spectacular Lies of Maps
axbom
PRO
1
390
Information Architects: The Missing Link in Design Systems
soysaucechin
0
710
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
@sdboyer The New Era of Go Package Management sam boyer
@sdboyer 1. We write code
@sdboyer 2. We use others’ code
@sdboyer 3. ow
@sdboyer Package (dependency) management matters
@sdboyer No, like…more than that
@sdboyer Tools -> Social Systems
None
None
None
None
None
None
None
@sdboyer Roots of the problem • GOPATH allows only one
version • No reproducibility • Releases, ~pointless • Updates, a crapshoot
None
@sdboyer Rise of the tools • 2013: Godep, gom, et
al. - 2013 • 2014: glide, gopkg.in, et al. - 2014 • 2015: gb, govendor, et al. - 2015
@sdboyer vendor/ on the scene • Go 1.5: vendor/ added,
off by default (Aug, 2015) • Go 1.6: vendor/ on by default (Feb, 2016) • Go 1.7: vendor/ always on (Aug, 2016)
None
@sdboyer godep glide gb govendor (et al.)
@sdboyer github.com/golang/dep
@sdboyer
@sdboyer dep fundamentals • Borrows from others, but is tailored
to Go • Imports are queen • Two-file system: Gopkg.toml, Gopkg.lock • Project-oriented • Semver tagging • vendor/-centric - (almost) no GOPATH
@sdboyer dep status dep init dep ensure
@sdboyer godep glide gb govendor (et al.) GOPATH dep
@sdboyer dep status dep init dep ensure
@sdboyer ensure keeps states in sync Project Code (imports) Gopkg.toml
Gopkg.lock Deps (vendor)
@sdboyer “Sync-based” tool
None
@sdboyer “Hey dep, ensure everything’s shipshape, kthx”
@sdboyer
@sdboyer
@sdboyer ) dep dep go
@sdboyer ) dep go
None
@sdboyer Key insights from dep • Two-file system • Imports
are queen • Still sync-based • Semver tagging • vendor/, sorta
@sdboyer TODOs • Multi-project workflow • Semver suggestion tool •
Registries • Editor integration patterns • Security model • Performance! • Better failure feedback • Private/enterprise patterns
@sdboyer TODOs…for YOU • Tag your projects with semver •
Convert projects to dep (yes, it’s ready!) • Maybe jump in and contribute to dep - word is, we’re super friendly! • Hackathon, tomorrow! • Updates: sdboyer.io/dep-status
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND… The MIT License
None