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
330
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
130
ドメイン層×日本語プログラミング/seb_sapporo_04
gishi_yama
1
160
Javaへの新たなHello, World / yuruchitose-04
gishi_yama
0
65
JSR381、知っていますか?Javaの画像認識APIのはなし / SC4Y23-05
gishi_yama
0
270
jPeekでのクラスの凝集度計測の試行 / mild-web-sapporo#24
gishi_yama
0
420
Github CopilotとChatGPTを使って感じた使い分けの糸口 / JavaDo #22
gishi_yama
1
1.7k
子ども向けプログラミング体験教室でのHololens2利用事例 / IoTLT#97
gishi_yama
0
130
AWS Serverless Java Container, Spring Bootで試してみた / javado22
gishi_yama
5
860
Hololens2と 小中高プログラミング教育の利用にむけた試行 / XRMTG 2023-1-18
gishi_yama
0
350
Other Decks in Programming
See All in Programming
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
770
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
11
6.9k
iOSでSVG画像を扱う
kishikawakatsumi
0
140
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
330
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
340
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
350
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
0
4.2k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
470
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
1
340
Software Architecture
hschwentner
6
2.3k
技術的負債の正体を知って向き合う
irof
0
210
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Automating Front-end Workflow
addyosmani
1371
200k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
How GitHub (no longer) Works
holman
315
140k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Music & Morning Musume
bryan
46
6.9k
Building an army of robots
kneath
306
46k
Side Projects
sachag
455
43k
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