$30 off During Our Annual Pro Sale. View Details »
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
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
1
240
SREが取り組むデプロイ高速化 ─ Docker Buildを最適化した話
capytan
0
130
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
1
210
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
590
ActiveJobUpdates
igaiga
1
300
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
1k
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
150
100以上の新規コネクタ提供を可能にしたアーキテクチャ
ooyukioo
0
230
[2025-12-12]あの日僕が見た胡蝶の夢 〜人の夢は終わらねェ AIによるパフォーマンスチューニングのすゝめ〜
tosite
0
140
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
4
1.8k
ZOZOの独自性を生み出す「似合う4大要素」の開発サイクル
zozotech
PRO
0
120
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
1.9k
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
260
Building Applications with DynamoDB
mza
96
6.8k
Marketing to machines
jonoalderson
1
4.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
47k
Mind Mapping
helmedeiros
PRO
0
38
How GitHub (no longer) Works
holman
316
140k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
250
AI: The stuff that nobody shows you
jnunemaker
PRO
1
8
Prompt Engineering for Job Search
mfonobong
0
120
Evolving SEO for Evolving Search Engines
ryanjones
0
73
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