Windowsでワンラインインストールするためには、コマンドプロンプトやPowershellを使う必要があります。今回はPowershellを使ったワンラインインストールの方法を紹介します。

方針

  • Powershellでもwgetというエイリアスでファイルダウンロードができるのでそれを使う
  • Windowsでtar.gzの解凍は面倒なので、標準で圧縮/解凍コマンドレットが用意されているzipを使う
  • ファイルの解凍場所、実行ファイルの設置場所はAPPDATA環境変数の配下

スクリプト

全容はこんな感じです。

流れとしては以下の通り。

  1. $Env:PROCESSOR_ARCHITECTUREでOSのアーキテクチャを判別
  2. wgetでアーキテクチャに応じたバイナリを取得しAPP_DATA配下のディレクトリに設置
  3. Expand-Archiveで解凍
  4. 実行ファイルを適切な場所(APPDATA/${name}/bin)に移動
  5. 不要なファイル、ディレクトリを削除
  6. PATHに追加

このスクリプトをWeb上に設置し、以下のワンラインスクリプトでインストールが可能です。

Set-PSDebug -strictの記述をするとbashでいうところのset -uを定義したように、未定義変数を参照したときにエラーになります。環境変数APPDATAはユーザ毎のアプリのデータ、設定ファイルを置く場所です。WindowsにはLinuxの/usr/local/binにあたるディレクトリが特に無いので、APPDATA配下を各ユーザのバイナリ置き場として使っています。

今回はzip形式のスクリプトとなっていますが、CLIの場合、zip形式ではなくバイナリを直接アップロード/ダウンロードした方がインストールスクリプトの記述は簡単になります(ただし、ファイルサイズは大きくなります)

参考URL