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-sap04
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
JSR381、知っていますか?Javaの画像認識APIのはなし / SC4Y23-05
gishi_yama
0
31
jPeekでのクラスの凝集度計測の試行 / mild-web-sapporo#24
gishi_yama
0
180
Github CopilotとChatGPTを使って感じた使い分けの糸口 / JavaDo #22
gishi_yama
1
1k
子ども向けプログラミング体験教室でのHololens2利用事例 / IoTLT#97
gishi_yama
0
60
AWS Serverless Java Container, Spring Bootで試してみた / javado22
gishi_yama
0
140
Hololens2と 小中高プログラミング教育の利用にむけた試行 / XRMTG 2023-1-18
gishi_yama
0
240
小学生がmicro:bitを用いて行える課題解決を意識した自由研究事例 /SC4Y '22#4
gishi_yama
0
230
あなたもこだわろう!Web開発環境 (物理編)'22 / mild-web-sapporo#22
gishi_yama
0
230
Records の使い方はこれでいいの? をみんなで考えたい / Java DO #20
gishi_yama
1
1k
Other Decks in Programming
See All in Programming
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
har1101
0
160
Understanding Ast By Looking
inouehi
0
120
オブジェクトしこう
okuramasafumi
2
130
DDD, necessary but insufficient: physical design principles for microservices
cer
PRO
0
2.2k
ドメイン・ファーストで考える問題解決に役立つモデル設計 / Domain First Model Design
suzushin54
1
1.4k
TCA魔法学入門🪄
dazy
0
280
ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 / namespace and autoloading in php
okashoi
2
470
もうすぐ新年度、Babylon.jsがお勧めな3個の理由
hideg
0
170
GitHub Copilot Tips and Tricks
yuichielectric
26
7.5k
WebComponentsで フレームワークを1ページに共存させる
webuilder240
0
150
PHP8の機能を使って堅牢にコードを書く
fendo181
6
2.6k
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
7
1.9k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
14
1.3k
Automating Front-end Workflow
addyosmani
1353
200k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
jQuery: Nuts, Bolts and Bling
dougneiner
57
7.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.4k
Thoughts on Productivity
jonyablonski
57
3.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
39
4.3k
Product Roadmaps are Hard
iamctodd
43
9.6k
What's new in Ruby 2.0
geeforr
335
31k
Testing 201, or: Great Expectations
jmmastey
27
6.3k
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