~使用頻度(高)~PowerShellScoopはじめにWindowsのインストーラー、Scoopのコマンド操作についてまとめてみました。Scoopはいわゆるパッケージ管理ツールを行うCLIツールでmacOSでいうHomebrew的な存在です。実際にHomebrewにインスパイアされて開発されており、同系ツールであるChocolateyから移行するユーザも増えてきました。helpで詳細確認できます。」程度しか書かれておらずhelpを表示してもコマンドによって説明の粒度にムラがあり、半分くらいは構文程度の情報しか記載されていないものもあります。そのため、ソースコードベースにコマンドの仕様をまとめ、以下3つの記事に分けて解説を載せることにしました。これでもっとユーザ数、増えてもらえれば幸い。virustotal※表中のサブコマンドの並びに沿って紹介していきます。表記・用語について解説中に使用している構文の表記方法やScoop用語については以下のようにしています。<app>なら任意のScoopアプリ名。<args>なら任意の引数。Scoopでインストール可能なアプリ、または、インストール済みのアプリです。一連のScoopアプリを保持するパッケージリポジトリです。Bucketのみがローカルで使用可能となっています。Scoopアプリのインストール方法やバージョン、ライセンスなどを記載したメタ情報ファイルです。※ほかのScoop用語については本文中でその都度解説します。インストール方法Scoopの公式ページにある通りですが、念のためこちらでも記載しておきます。以下、PowerShellコンソール上で実行してください。4.5が必要となります。こちらの条件が仮に不足していた環境でも以下のコマンドを実行すれば、それらの警告とアップグレードするためのリンクが表示されるようになっているため、気にせず2行目まで実行してみましょう。Scoop自身が内部でgitを使用するため、gitにPATHが通っていない環境は以下のコマンドでインストールする必要があります。gitにPATHが通っている環境だとしてもScoop管理に移行して常に最新バージョンを使うようにするのがおススメです。githelpまずはhelpコマンドです。こちらの存在さえ知っていれば、基本的な使い方は掴めます。<command>ヘルプを表示します。${サブコマンド名}でサブコマンド用のヘルプが表示されます。helpで全体のヘルプを表示したい場合はscoopだけでも可能です。<command>としても同じ結果が得られます。searchインストール可能なScoopアプリを検索するコマンドです。[regex]検索文字列である[regex]を指定しなければ、インストール可能なScoopアプリが全て表示されます。検索文字列である[regex]を指定すれば、以下のような条件で検索されます。1.検索文字列に正規表現で一致するインストール可能なScoopアプリ名があれば、その条件で一致したScoopアプリを表示。2.1で一致しなかった場合、インストール後にPATHを通す対象になっている実行ファイル名(拡張子除く)やショートカットファイル名で正規表現検索し、一致すればそのScoopアプリとファイル名を表示。knownで表示されるBucket(詳細は後述)内でインストール可能なScoopアプリ名で正規表現検索をし、一致したScoopアプリを表示。found.」を表示。全部出してもあまり嬉しい時はないだろう。最終的にPATHに通る実行ファイル名にもzipが入っていれば表示される。正規表現で検索したい場合は`''`で囲むのがおススメ。以下はPiriform社が提供しているユーティリティツールをOR検索している例。Bucketが登録されています。BucketにはないScoopアプリもインストールすることが可能となります。known限定)にてまとめました。以下の例でなんとなく使い方イメージできれば特に困ることはありません。Scoopが公式的に推奨?しているBucketなどはkownで一覧表示できます。knownで表示されるBucket以外を任意で追加したい場合はBucket名に加え、BucketのGitリポジトリとなるURLも必要となります。追加したBucketはlistで確認可能です。iyokan-jpinstallScoopアプリをインストールするコマンドです。[options]構文にある通り、一度にインストールできるアプリは一つ、または、複数指定が可能です。インストール可能なScoopアプリは登録済みのBucket内にあるものに限られるため、もしインストールしたいScoopアプリがない場合は新たにBucketを追加する必要があります。いくつかのScoopアプリではinstallした際にユーザ環境変数(PATHの追加や〇〇_HOMEの追加など)を自動で更新する機能もありますが、更新された場合であってもPowerShellから実行している限り、ターミナルの再起動不要で即現在のシェル環境に反映されます。`cat`を意味しており、以下のようにシンタックスハイライトを効かせてコードを表示できます。"$env:USERPROFILE\scoop\apps\ccat\current\manifest.json"#=>jsonがカラーで表示される。マニフェストファイルのURLを指定することでもインストール可能です。ローカル内にあるマニフェストファイルもパスを指定してのインストールができます。.\path\to\app.json#=>...また、installコマンドでは以下のオプションも使用可能です。各オプションの詳細は割愛します。グローバルなパス(例えば、C:\Scoopなど)にScoopアプリをインストールする。アーキテクチャを指定してインストールを行う(Scoopアプリがアーキテクチャごとのインストールをサポートしていた場合のみ有効)listインストールしたScoopアプリを表示するコマンドです。[regex]引数で正規表現を指定することにより、その正規表現にマッチするScoopアプリ名のみ表示できます。正常にインストールできたかの確認としても使えます。[versions]infoScoopアプリの詳細を確認するためのコマンドです。<url>)表示される情報はマニフェストファイルから取得してきており、以下の内容が確認可能です。ScoopのマニフェストファイルのURLを指定することでも表示可能。https://raw.githubusercontent.com/user/repo/branch/path/to/app.json#=>...statusScoop全体のステータスを確認するためのコマンドです。status確認できるステータスは以下の5項目です。表示するメッセージがないステータス項目はスキップされます。for:」ぐらいしか表示されません。8.0.16updateScoop、または、Scoopアプリを最新のバージョンに更新するコマンドです。<app>でインストール済みのScoopアプリの最新バージョンをインストールします。updateコマンドの引数は複数のScoopアプリ名を指定できる他、*を使用することによりインストール済みの全てのScoopアプリの中からバージョンが最新でなくなっているScoopアプリを全て更新することができます。Scoop自身を更新するコマンドです。Scoopの新機能、バグ修正のほか、Scoopが管理しているScoopアプリ情報も更新されます。"C:\Users\xxxxx\scoop\apps\vscode\current\vscode-install-context.reg"また、updateコマンドでは以下のオプションも指定可能です。グローバルなパス(例えば、C:\Scoopなど)にScoopアプリをインストールする。新しいバージョンが更新されていなくても強制的に更新する。無関係なメッセージを非表示にする。uninstallScoopアプリをアンインストールするコマンドです。[options]使用感はinstallコマンドと同様です。uninstalled.また、updateコマンドでは以下のオプションも使用可能です。グローバルにインストールされたScoopアプリを削除する。永続化されたデータ(バージョン間で共有される設定ファイルなど)も全て削除するおわりに初回のコマンド解説は以上となります。これまで紹介したコマンドが使えれば普段使いでScoopでのアプリ管理が十分可能だと思います。「もっと使いこなしたい」や「もっと便利な方法を知りたい」などあれば、その2以降の記事もご覧ください。requestStockLike16@nimzo6689東京でJavaEEを扱う5年目エンジニアです。「未知なる可能性への挑戦」がモットー。愛媛生まれのエンジニア集団。upLoginユーザーは見つかりませんでした。