ゆるおたノート

Tomorrow is another day.

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

2019/04/30(Tue) Rewrited.

前回は「パッケージ」や「パッケージ・プロバイダ」の意味についてご説明しました。
yuru-wota.hateblo.jp

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

これを踏まえて、ここからはパッケージ・プロバイダを導入して
パッケージを管理する準備を進めます。

コレが出来れば、あと少しです。

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

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

詳細は…

復元ポイントについては詳しくは割愛しますが、こちらが参考になると思います。
良かったらご参照ください。 www.atmarkit.co.jp

実行ポリシーを変更

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

get-ExecutionPolicy

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

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

get-ExecutionPolicy

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

エディタを起動

ISEを使います。

さて、今度はPowerShell ISEを使います。
Cortanaさんに入力し、起動しましょう。
f:id:yuricks7:20180604231803p:plain

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

今回、敢えてこっちを使うのは、入力補完が使えるからです。
VBAをお使いであれば、Ctrl+SpaceTabで使い慣れている方もいるでしょう。
また、シンタックスハイライト(コードの色分け)もしてくれます。

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

あと、もう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触ったりはするけど、
『あの』黒い画面はちょっと怖くて触れない…という方。

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

次回

yuru-wota.hateblo.jp

連載目次

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

注釈

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

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

*2:

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

▼参照 codezine.jp