Chapter 01

パッケージマネージャ「scoop」のセットアップ

scoopとは Windowsのパッケージマネージャの一つです。scoop がインストールされていると、有名なコマンドラインツールのインストールが scoop install bzip2 のようにワンコマンドでできたりします。この手のパッケージマネージャとしては他に NuGet や Chocolatey などがあります。

scoop の特徴として

  • 利用に管理者権限は不要!
  • 実行ファイルは ~\scoop\shims に集約され、環境変数 PATH の肥大化が抑制される
  • インストーラのセットアップが簡単
  • nyagos が公式レポジトリにある (Chocolatey にもあるけど)

などがあります。導入の手順は次のとおりです。

Windows 8.xや、古めの WindowsServer の場合

PowerShell のバージョンが古いので、そのままでは入らない場合があります。まずは Powershell を起動してバージョンを確認しましょう。

PS C:\Users\Administrator> Get-Host | Select-Object Version

Version
-------
4.0

Download Windows Management Framework 5.1 from Official Microsoft Download Center より、OS の種類に対応した、Windows Management Framework 5.1 をインストールしましょう。(要OS再起動)。

このダウンロードサイトでは、どの OS がどのファイルか親切に書いていないので、ファイル名から推測しかありません。どうやら、Win8.1AndW2K12R2-KB3191564-x64.msu が 64bit版の Windows8.1 と Windows 2012R2 サーバのようです(なお、間違っていてもちゃんとエラーが出るのでやり直せば大丈夫)

次のように、バージョンが表示されるようになれば Ok です。

PS C:\Users\Administrator> Get-Host | Select-Object Version

Version
-------
5.1.14409.1005

この後は、以下の「コマンドプロンプトが CMD.EXE の場合」に従ってください。

コマンドプロンプトが PowerShell の場合

公式サイト にあるとおり、

iwr -useb get.scoop.sh | iex

で scoop をインストールが始まります。これが失敗した場合、スクリプトの実行が許可されていないので、次のコマンドで許可を出してから、再実行します。

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iwr -useb get.scoop.sh | iex

コマンドプロンプトが CMD.EXE の場合

標準シェルが CMD.EXE なので、powershell からインストールスクリプトを実行します。スクリプトの実行許可はインラインで出しておきましょう。

$ powershell -ExecutionPolicy RemoteSigned "iwr -useb get.scoop.sh | iex"
Initializing...
Downloading scoop...
Extracting...
Creating shim...
Downloading main bucket...
Extracting...
Adding ~\scoop\shims to your path.
'lastupdate' has been set to '2020-01-26T20:56:49.1761305+09:00'
Scoop was installed successfully!
Type 'scoop help' for instructions.

このインストール手順によって、scoop のコマンドへのパスはシステムには設定されていますが、現在のコマンドプロンプトはまだ読み込んでいません。一旦コマンドプロンプトを終了して、再度起動すると、scoop コマンドが使えるようになります。