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
320
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
100
ドメイン層×日本語プログラミング/seb_sapporo_04
gishi_yama
1
140
Javaへの新たなHello, World / yuruchitose-04
gishi_yama
0
54
JSR381、知っていますか?Javaの画像認識APIのはなし / SC4Y23-05
gishi_yama
0
240
jPeekでのクラスの凝集度計測の試行 / mild-web-sapporo#24
gishi_yama
0
390
Github CopilotとChatGPTを使って感じた使い分けの糸口 / JavaDo #22
gishi_yama
1
1.7k
子ども向けプログラミング体験教室でのHololens2利用事例 / IoTLT#97
gishi_yama
0
110
AWS Serverless Java Container, Spring Bootで試してみた / javado22
gishi_yama
1
770
Hololens2と 小中高プログラミング教育の利用にむけた試行 / XRMTG 2023-1-18
gishi_yama
0
320
Other Decks in Programming
See All in Programming
CursorはMCPを使った方が良いぞ
taigakono
1
200
VS Code Update for GitHub Copilot
74th
1
480
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
340
Java on Azure で LangGraph!
kohei3110
0
170
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
390
datadog dash 2025 LLM observability for reliability and stability
ivry_presentationmaterials
0
270
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
330
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
150
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.7k
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
Team operations that are not burdened by SRE
kazatohiei
1
270
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
540
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
The World Runs on Bad Software
bkeepers
PRO
69
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Building an army of robots
kneath
306
45k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Optimizing for Happiness
mojombo
379
70k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
We Have a Design System, Now What?
morganepeng
53
7.7k
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