Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
macOS でも Windows でも使おう!パッケージマネージャー / mild-web-s...
Search
Hiroto YAMAKAWA
March 30, 2019
Programming
2
310
macOS でも Windows でも使おう!パッケージマネージャー / mild-web-sap04
「macOS でも Windows でも使おう!パッケージマネージャー」
ゆるWeb勉強会@札幌 #4
https://mild-web-sap.connpass.com/event/123137/
Hiroto YAMAKAWA
March 30, 2019
Tweet
Share
More Decks by Hiroto YAMAKAWA
See All by Hiroto YAMAKAWA
開発環境構築の共通要素:必要なものを手元に持ってきて使えるようにする/JavaDo28
gishi_yama
0
73
ドメイン層×日本語プログラミング/seb_sapporo_04
gishi_yama
1
120
Javaへの新たなHello, World / yuruchitose-04
gishi_yama
0
38
JSR381、知っていますか?Javaの画像認識APIのはなし / SC4Y23-05
gishi_yama
0
210
jPeekでのクラスの凝集度計測の試行 / mild-web-sapporo#24
gishi_yama
0
360
Github CopilotとChatGPTを使って感じた使い分けの糸口 / JavaDo #22
gishi_yama
1
1.5k
子ども向けプログラミング体験教室でのHololens2利用事例 / IoTLT#97
gishi_yama
0
100
AWS Serverless Java Container, Spring Bootで試してみた / javado22
gishi_yama
1
650
Hololens2と 小中高プログラミング教育の利用にむけた試行 / XRMTG 2023-1-18
gishi_yama
0
310
Other Decks in Programming
See All in Programming
⚪⚪の⚪⚪をSwiftUIで再現す る
u503
0
100
Webフレームワークとともに利用するWeb components / JSConf.jp おかわり
spring_raining
1
130
Learning Kotlin with detekt
inouehi
1
200
ML.NETで始める機械学習
ymd65536
0
240
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
260
Domain-Driven Design (Tutorial)
hschwentner
13
22k
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
160
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.8k
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
410
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
830
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
210
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
740
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
540
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Music & Morning Musume
bryan
46
6.4k
The Invisible Side of Design
smashingmag
299
50k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Automating Front-end Workflow
addyosmani
1369
200k
GitHub's CSS Performance
jonrohan
1030
460k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Visualization
eitanlees
146
15k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Transcript
使おう!パッケージマネージャー 千歳科学技術大学 情報システム工学科 専任講師 山川 広人 (@gishi_yama) 1 macOSでも Windowsでも
千歳科学技術大学 情報システム工学科 専任講師 R&D: Computer in Education, Collaboration and Learning
Environment, Experimental Development of ICT (ex:City-Bus Tacking System) Community: 2 Hiroto Yamakawa, @gishi_yama
前回はヤバめのネタだったので 今回は真面目なネタで 3 部⻑ G 課⻑
パッケージマネージャー (パッケージ管理ツール) 使ってますか? 4
• apt-get • yum • ports • mac ports •
HomeBrew • Nix • pkgsrc • Chocolatey • PackageManagement (OneGet) • Scoop • App Store • Google Play • その他 どれか使っていますか? 5
Linuxはもちろん macOS, Windowsでも コマンド型のパッケージマネージャーを使える! 6
主にOSの中で、異なるソフトウェア群やプログラム群の インストール・設定・更新・削除を統一的な手法で行えるツール ターミナルやコマンドプロンプトで動作するコマンド型が環境構築に便利 パッケージマネージャとは何か? 7 ・導入操作 ・導入状況の管理 導入スクリプト データベース インストーラーや
ソースコード 適宜取得 パッケージマネージャ (構成の一例) 導入するアプリと導入スクリプト (メタデータ)の組がパッケージ パッケージリポジトリ
インストーラー vs コマンド型パッケージマネージャー 8 brew cask install intellij 1. インストーラーのダウンロード
2. インストーラーの展開(zip, dmg...) 3. インストーラーの実行(exe, pkg...) 複数のソフトウェアをインストールするには、 1〜4の作業をソフトウェアごとに実行する 必要がある パッケージマネージャーをインストールした上で (例えば macOS の homebrew) 複数のソフトウェアをインストールするには、 パッケージ名やコマンドを増やすだけ。 brew cask install intellij visual-studio-code コマンド等、依存関係の強いものにも対応 brew install postgresql ⇒ postgresql コマンドに必要なものが あわせてインストール(もしくは提示)される
Demo (身の回りでは)意外とWindowsで パッケージマネージャーを使ってない人が多かったので Win10 + Chocolatey で。 9
使うパッケージマネージャーは Windows 10 + Chocolatey 1. コマンドプロンプト(管理者実行)でChocolateyのインストール(公式サイトからコピペ): @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" - NoProfile
-InputFormat None -ExecutionPolicy Bypass -Command "iex ((New- Object System.Net.WebClient).DownloadString('https://chocolatey.org/ install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE% \chocolatey\bin" 2. 例えば、 winrar をいれる: choco install winrar 3. 例えば、 Java 11 (adoptopenjdk11) をいれる: choco install adoptopenjdk11 デモ手順 10 ↑最初に1回やればOK
• パッケージの検索(例:search xxxx) 扱えるパッケージを探す。 利用するパッケージマネージャーの公式サイトで検索できる例もある (https://formulae.brew.sh/, https://chocolatey.org/packages) • パッケージのインストール(例:install xxxx)
• パッケージの更新(例:upgrade xxxx) • パッケージのアンインストール(例:uninstall xxxx) • 導入済みパッケージの確認(例:list) パッケージマネージャに共通する代表的な操作 11 ※時間があればHomeBrewでデモします ※もちろんパッケージマネージャーによって、 実際のコマンドが異なる場合はあります
開発環境の構築に楽: コマンドベースで導入するパッケージを 制御できるので、バッチファイルや シェルプログラム化しておくと、 必要なアプリを一括でインストールできる (例 xxxx.sh の実行だけで環境構築完了) バージョンアップもコマンドだけで完了。 リカバリ時にとても楽: シェルプログラムを動作させて放置し、
たまにパスワード求められてないか 確認するぐらい パッケージマネージャーの使いどころ 12
発展編 13
公式にインストールしたいアプリのパッケージがなくても、自作できる 例:macOS + HomeBrewの場合、 自分のGithubリポジトリにパッケージ用のスクリプトを配置する パッケージマネージャーの発展的な使い方 14
パッケージマネージャー側で対応していれば、 フォントだろうがドライバだろうがコマンドだけでインストールできる パッケージマネージャーの発展的な使い方 15
オープンソースのコントリビューションの練習にも良い バージョンアップの対応だけでも貢献できる パッケージマネージャーの発展的な使い方 16
Chocolatey Windowsでの草分け的存在。要管理権限。 Scoop Win10のマルチユーザーを見据え管理権限不要。これから人気でそう? PackageManagement 公式(...のはずなんですが) パッケージマネジャーを選ぶ (Windows) 17 引用:Google Trend,
pre xにwindows をつけ、ソフトウェアカテゴリで2019/03/30に検索
HomeBrew アプリもフォントもインストールできて(いまのところ)一強 Fink, MacPorts 老舗でパッケージ数も多いが、手軽じゃない部分もある パッケージマネジャーを選ぶ (macOS) 18 引用:Google Trend, pソフトウェアカテゴリで2019/03/30に検索
構成管理ツール(Ansibleなど) OSインストール時の設定等もコマンドで実行可能にする コンテナ(Dockerなど) データベースなど、本来ネットワーク経由で利用・動作するアプリ等は コンテナで準備するとより便利にバージョンや設定状態の切り替えが可能になる さらに発展的な環境構築へ 19
まとめ コマンド型のパッケージマネージャは Windows でも macOS でもイイぞ! 20