ゆるおたノート

Tomorrow is another day.

【PowerShell】コマンドを使ってパッケージ・プロバイダをインストールしよう

前回は「パッケージ」や「パッケージ・プロバイダ」の意味についてご説明しました。
【PowerShell】「そもそもパッケージって何?」っていうあなたに、少し説明します。 - ゆるおたノート

どんなものかイメージは沸いたでしょうか?

これを踏まえて、今回はパッケージを管理するためにパッケージ・プロバイダを導入します。
コレが出来れば、あと少しです。

いったん復元ポイントを作成

以下、パソコンのシステムにも影響することを一部行います。
ここは慎重に、いったん復元ポイントを作成しましょう。

詳細は…

復元ポイントについて、ここでは割愛しますが、詳しくはこちらの記事が参考になるかと思います。
Windows 10で復元ポイントを素早く有効化・作成する:Tech TIPS - @IT

実行ポリシーを変更

さて、復元ポイントの作成が終わったら、先日の黒い画面(PowerShell)を起動して、実行ポリシーを確認しましょう。

get-ExecutionPolicy

Restrictedと出た方は、先日説明した手順Remote-Signedに変更してください。

変更したら、もう1度確認することをお忘れなく!

get-ExecutionPolicy

ここまで完了したら、現在のPowerShellは一旦そのまま閉じて下さい。
ちなみに、Alt+F4の同時押し*1でスッと閉じられます。

エディタを起動

ISEを使います。

次に、今度はPowerShell ISEを使います。

Cortanaさんに入力し、起動しましょう。
CortanaさんでPowerShell ISEを検索

ISEも、エディタの仲間*2です。
つまり、PowerShell ISEPowerShell用の多機能エディタと思ってください。

敢えてこっちを使うのは、入力補完が使えるからです。
VBAをお使いであれば、Ctrl+Spaceで表示してTabで選択、という操作で使い慣れている方もいると思います。

また、シンタックスハイライト(コードの色分け)もしてくれるので、画面も格段に見やすくなります。

プログラムにはタイプミスが大敵です!
こちらを助けてくれる機能を使わない手はありません

あともう1つ、初心者にも嬉しいメリットがありますが、これは後ほど。

入力してみよう。

それでは「モノは試し」ということで、PowerShell ISEで以下のようにタイプして3秒ほど待ってみてください。

get-

自動で選択肢が表示されましたね。

PowerShellの入力補完
画像では大事なとこが薄いですけど…

そのままで選択してTabで決定すると、続きのコマンドを入力することが出来ます。便利ですね!

というわけで、この入力補完シンタックスハイライトに助けてもらいながら、
パッケージをインストールしていきましょう!

パッケージ・プロバイダのダウンロードとインストール

入っているプロバイダを確認してみよう。

※この時点で「プロバイダって何ぞや?」という方は、まずはこちら↓へ。

まず、コレ↓を入力してEnterを押してみてください。

get-PackageProvider

こんな感じで出たでしょうか?

※当記事に表示されているバージョンは執筆・編集時点のものです。

Name                     Version          DynamicOptions
----                     -------          --------------
ForceX86, Pa...
msi                      3.0.0.0          AdditionalArguments
msu                      3.0.0.0
PowerShellGet            1.0.0.1          PackageManagementProvider, Type, Scope, AllowClobber, SkipPublish...
Programs                 3.0.0.0          IncludeWindowsInstaller, IncludeSystemComponent

いま画面に表示されているものが、現在あなたのPCに入っているパッケージ・プロバイダ
左から、プロバイダの名前、バージョン、補足説明です。

一覧が出たところで、視力と英単語に自信のある方は、下記のどちらかが自分の画面にあるか探してみましょう!

  • Chocolatey
  • NuGet

この2つは、Windows10でよく使われるパッケージ・プロバイダです。

……

……………

…………………………どうですか、見つかりましたか?

見つけられた方、おめでとうございます!
これで操作が一つ減りました!いぇーいぱちぱち~

…じゃなくて、ちゃんと検索する方法もお伝えします。笑

プロバイダを探す。

それでは、また下記を入力して実行してみてください。

get-PackageProvider -Name NuGet

これは、「"NuGet"という名前のパッケージ・プロバイダをこの端末から探して!」というコマンドです。

NuGetが既に入っている場合は、こんな風に表示されるでしょう。

Name                     Version          DynamicOptions
----                     -------          --------------
NuGet                    2.8.5.208        Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrereleaseVersions, Confi...

これで問題ありません。

もし入っていない場合は、こんな風にポップアップが出ます。
パッケージプロバイダのインストール確認

そう、"ISE"とつかないただのPowerShellだと黒い画面の中で聞かれるメッセージが、
ISEではポップアップで表示されるのです。
つまり、コマンドに加えて、一部はGUI(ボタン)でも操作できるようになります。

これがISEのもう1つのメリットです。
初心者はいきなり100%CUI(コマンドだけで操作)では怖いと思いますので、これでちょっとずつ慣れて行きましょう。

さて、今回の質問は内容的に読んだままなので、そのままはい(Y)と答えてあげて自動インストールしてもらいます。
キーボード操作に慣れている方は、キーボード上でyと押すだけでもOKです。

インストールが終わったら、例によってちゃんとインストール出来ているか確認します。

get-packageprovider -name NuGet

正しくインストール出来ていたら、先ほどの結果と同じようにこんな感じで表示されるはずです。

Name                     Version          DynamicOptions
----                     -------          --------------
NuGet                    2.8.5.208        Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrereleaseVersions, Confi...

これが出来たら、今度はNuGetの部分をChocolateyに変えて、こちらもインストールしてしまいましょう。

最後に確認しよう。

どちらもインストール出来たら、また例によって情報を確認します。

get-PackageProvider

筆者のPCでは、現在こんな感じに出ます。(2019/04/30更新)

Name                     Version          DynamicOptions
----                     -------          --------------
Chocolatey               2.8.5.130        SkipDependencies, ContinueOnFailure, ExcludeVersion, ForceX86, PackageSaveMode, FilterOnTag, Contains, AllowPrerelea...
msi                      3.0.0.0          AdditionalArguments
msu                      3.0.0.0
NuGet                    2.8.5.208        Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrereleaseVersions, Confi...
PowerShellGet            1.0.0.1          PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, InstallUpdate, NoPathUpdate, Filter, Tag, ...
Programs                 3.0.0.0          IncludeWindowsInstaller, IncludeSystemComponent

※NuGetとChocolatey以外は、プリインストールでした。

まとめ

ここまででパッケージ・プロバイダの導入が完了です。
ドラマで言えば、最終回前夜です。ワクワク!

次回は、パッケージをコマンドでインストールする手順と、おまけで実際に欲しいパッケージを検索するコツもご紹介します。

これであなたもPowerSheller!
いま考えたのでそんな呼称があるかは分からないけど!笑

ご期待ください!

このシリーズについて

黒い画面(CUI)でPCを操作するテクニックをご紹介。

以下の方を対象に、Windows10のPowerShellを使ってパッケージを導入する手順をお送りしています。

・プログラムには少し興味があって仕事でVBA触ったりはするけど、
『あの』黒い画面はちょっと怖くて触れない…という方。

疑問点・不明点がありましたら、コメント欄で頂ければと思います!

次回

【PowerShell】パッケージ・プロバイダからパッケージを貰おう - ゆるおたノート

連載目次

  1. 【PowerShell】プログラムのプの字も知らない事務職が、黒い画面と格闘した話。 - ゆるおたノート
  2. 【PowerShell】超簡単にソフトを取り込む準備を始めよう - ゆるおたノート
  3. 【PowerShell】「そもそもパッケージって何?」っていうあなたに、少し説明します。 - ゆるおたノート
  4. 当記事【PowerShell】コマンドを使ってパッケージ・プロバイダをインストールしよう - ゆるおたノート
  5. 【PowerShell】パッケージ・プロバイダからパッケージを貰おう - ゆるおたノート
  6. 【おまけ】PowerShellで出来ることを知って、もう1つだけレベルを上げよう - ゆるおたノート

注釈

*1: ウィンドウを閉じる時のショートカット・キーです。
基本的にWindows用のアプリケーションなら大体使えますので、ぜひ覚えておいてください!

ただし、勢い余って編集中の画面を閉じてしまわないように気を付けましょう!

*2: PowerShell ISEとは?

Windows PowerShell ISEは、Windows PowerShell Integrated Scripting Environmentntの略で、PowerShellスクリプトやモジュールを記述する専用のコードエディタ、実行環境、デバッグ環境が統合されたGUI環境です。

統合開発環境「PowerShell ISE」を使ってみよう (1/2):CodeZine(コードジン)