Upgrade to Pro — share decks privately, control downloads, hide ads and more …

macOS でも Windows でも使おう!パッケージマネージャー / mild-web-sap04

macOS でも Windows でも使おう!パッケージマネージャー / mild-web-sap04

「macOS でも Windows でも使おう!パッケージマネージャー」

ゆるWeb勉強会@札幌 #4
https://mild-web-sap.connpass.com/event/123137/

8c6c1f0c4c41d0640ade76bd71e9e475?s=128

Hiroto YAMAKAWA

March 30, 2019
Tweet

More Decks by Hiroto YAMAKAWA

Other Decks in Programming

Transcript

  1. 使おう!パッケージマネージャー 千歳科学技術大学 情報システム工学科 専任講師 山川 広人 (@gishi_yama) 1 macOSでも Windowsでも

  2. 千歳科学技術大学 情報システム工学科 専任講師 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. 前回はヤバめのネタだったので 今回は真面目なネタで 3 部⻑ G 課⻑

  4. パッケージマネージャー
 (パッケージ管理ツール) 使ってますか? 4

  5. • apt-get • yum • ports • mac ports •

    HomeBrew • Nix • pkgsrc • Chocolatey • PackageManagement
 (OneGet) • Scoop • App Store • Google Play • その他 どれか使っていますか? 5
  6. Linuxはもちろん macOS, Windowsでも
 コマンド型のパッケージマネージャーを使える! 6

  7. 主にOSの中で、異なるソフトウェア群やプログラム群の
 インストール・設定・更新・削除を統一的な手法で行えるツール
 ターミナルやコマンドプロンプトで動作するコマンド型が環境構築に便利 パッケージマネージャとは何か? 7 ・導入操作
 ・導入状況の管理 導入スクリプト
 データベース インストーラーや


    ソースコード 適宜取得 パッケージマネージャ (構成の一例) 導入するアプリと導入スクリプト
 (メタデータ)の組がパッケージ パッケージリポジトリ
  8. インストーラー 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 コマンドに必要なものが
   あわせてインストール(もしくは提示)される
  9. Demo
 (身の回りでは)意外とWindowsで
 パッケージマネージャーを使ってない人が多かったので Win10 + Chocolatey で。 9

  10. 使うパッケージマネージャーは 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
  11. • パッケージの検索(例:search xxxx)
 扱えるパッケージを探す。
 利用するパッケージマネージャーの公式サイトで検索できる例もある
 (https://formulae.brew.sh/, https://chocolatey.org/packages) • パッケージのインストール(例:install xxxx)

    • パッケージの更新(例:upgrade xxxx) • パッケージのアンインストール(例:uninstall xxxx) • 導入済みパッケージの確認(例:list) パッケージマネージャに共通する代表的な操作 11 ※時間があればHomeBrewでデモします ※もちろんパッケージマネージャーによって、
   実際のコマンドが異なる場合はあります
  12. 開発環境の構築に楽:
 コマンドベースで導入するパッケージを
 制御できるので、バッチファイルや
 シェルプログラム化しておくと、
 必要なアプリを一括でインストールできる
 (例 xxxx.sh の実行だけで環境構築完了) バージョンアップもコマンドだけで完了。 リカバリ時にとても楽:
 シェルプログラムを動作させて放置し、


    たまにパスワード求められてないか
 確認するぐらい パッケージマネージャーの使いどころ 12
  13. 発展編 13

  14. 公式にインストールしたいアプリのパッケージがなくても、自作できる
 例:macOS + HomeBrewの場合、
 自分のGithubリポジトリにパッケージ用のスクリプトを配置する パッケージマネージャーの発展的な使い方 14

  15. パッケージマネージャー側で対応していれば、
 フォントだろうがドライバだろうがコマンドだけでインストールできる パッケージマネージャーの発展的な使い方 15

  16. オープンソースのコントリビューションの練習にも良い
 バージョンアップの対応だけでも貢献できる パッケージマネージャーの発展的な使い方 16

  17. Chocolatey  Windowsでの草分け的存在。要管理権限。 Scoop  Win10のマルチユーザーを見据え管理権限不要。これから人気でそう? PackageManagement 公式(...のはずなんですが) パッケージマネジャーを選ぶ (Windows) 17 引用:Google Trend,

    pre xにwindows をつけ、ソフトウェアカテゴリで2019/03/30に検索
  18. HomeBrew  アプリもフォントもインストールできて(いまのところ)一強 Fink, MacPorts 老舗でパッケージ数も多いが、手軽じゃない部分もある パッケージマネジャーを選ぶ (macOS) 18 引用:Google Trend, pソフトウェアカテゴリで2019/03/30に検索

  19. 構成管理ツール(Ansibleなど) OSインストール時の設定等もコマンドで実行可能にする コンテナ(Dockerなど) データベースなど、本来ネットワーク経由で利用・動作するアプリ等は
 コンテナで準備するとより便利にバージョンや設定状態の切り替えが可能になる さらに発展的な環境構築へ 19

  20. まとめ 
 コマンド型のパッケージマネージャは
 Windows でも macOS でもイイぞ! 20