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
300
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
Javaへの新たなHello, World / yuruchitose-04
gishi_yama
0
31
JSR381、知っていますか?Javaの画像認識APIのはなし / SC4Y23-05
gishi_yama
0
180
jPeekでのクラスの凝集度計測の試行 / mild-web-sapporo#24
gishi_yama
0
310
Github CopilotとChatGPTを使って感じた使い分けの糸口 / JavaDo #22
gishi_yama
1
1.3k
子ども向けプログラミング体験教室でのHololens2利用事例 / IoTLT#97
gishi_yama
0
87
AWS Serverless Java Container, Spring Bootで試してみた / javado22
gishi_yama
0
480
Hololens2と 小中高プログラミング教育の利用にむけた試行 / XRMTG 2023-1-18
gishi_yama
0
280
小学生がmicro:bitを用いて行える課題解決を意識した自由研究事例 /SC4Y '22#4
gishi_yama
0
380
あなたもこだわろう!Web開発環境 (物理編)'22 / mild-web-sapporo#22
gishi_yama
0
300
Other Decks in Programming
See All in Programming
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
6
1.6k
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
120
Contemporary Test Cases
maaretp
0
140
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
200
Djangoの開発環境で工夫したこと - pre-commit / DevContainer
hiroki_yod
1
240
Jakarta EE meets AI
ivargrimstad
0
730
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.8k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
110
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.2k
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
610
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
310
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Done Done
chrislema
181
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Ruby is Unlike a Banana
tanoku
97
11k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Rails Girls Zürich Keynote
gr2m
94
13k
How GitHub (no longer) Works
holman
310
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
120
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Cult of Friendly URLs
andyhume
78
6k
Designing for Performance
lara
604
68k
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