Check! cmder ～ Windows に Monokai スタイルのコンソールを導入 (実行ポリシーのトラブルシューティング)


こんにちは、[cloudpack][] の @dz_ こと[大平かづみ][]です。

Prologue - はじめに
====

[Yeomen](http://yeoman.io/ "The web's scaffolding tool for modern webapps | Yeoman") を使ってみようとしたら、 Windows の人は [cmder][] を使うといいよと書いてあったので、試してみます。

[cmder]:http://cmder.net/ "cmder | Console Emulator"

別に PowerShell でも構わないんですけど、cmder のサイトを見ていたら、気に入ってる Monokai カラースキーマで `Looking sexy from the start.` と一押しされてしまったので試してみることにしました。

ちなみに環境は Windows 10 です。

インストール
====
インストールは簡単です。

- [cmder][] のサイトからパッケージをダウンロードする
    - git (msysgit) を含めたい場合は、 `full版` をご利用ください。
    - `mini版` でも後からgitを導入することできます。
- 解凍して任意の場所に配置
- 配置したディレクトリの `bin フォルダ` のパスを環境変数に追加
- `cmder.exe` を管理者で起動

トラブルシューティング
====
起動すると、いきなりエラー…
----
![20150919_cmder_001.png](https://qiita-image-store.s3.amazonaws.com/0/3812/e25c4ca9-2d32-447c-0dff-8b90d1568a5f.png)

### エラー原因は実行ポリシー

[about_Execution_Policies](https://technet.microsoft.com/en-us/library/hh847748.aspx "about_Execution_Policies") に関するエラーです。

> このシステムではスクリプトの実行が無効になっているため ファイル cmder\vendor\profile.ps1 を読み込むことができません。

スクリプトを実行するには、実行ポリシーが安全すぎるようなので、調整しましょう。

### 現在の実行ポリシーを確認
```ps1
# 現在の実行ポリシーを取得する
PS> Get-ExecutionPolicy
Restricted

# スコープごとの実行ポリシーを取得する
PS> Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine       Undefined
```

`Undefined` なので、実行ポリシーはまだ何も設定されていない状態です。

### 実行ポリシーを設定する
実行ポリシーはいくつか種類があります。

試したところ、`Unrestricted` で警告付きで通るようになりました。警告がわずわらしい場合は `Bypass` を設定すればいいようなんですが、ご自身の責任でご判断ください。

```PS1
# 実行ポリシーを変更する
PS> Set-ExecutionPolicy Unrestricted -Scope CurrentUser
```

ちなみに、`AllSigned`, `RemoteSigned` では、デジタル署名がされていなくて別のエラーが発生しました。

> ファイル cmder\vendor\profile.ps1 を読み込めません。ファイル cmder\vendor\profile.ps1 はデジタル署名されていません。このスクリプトは現在のシステムでは実行できません。

### cmder が使えるようになりました

私は実行ポリシーを `Unrestricted` に設定したので、以下のように警告付きで使えるようになりました。
![20150919_cmder_002.png](https://qiita-image-store.s3.amazonaws.com/0/3812/e92b617c-667c-066f-57e9-5993ce33de79.png)

続行するには `R` を入力します。

![20150919_cmder_003.png](https://qiita-image-store.s3.amazonaws.com/0/3812/6e95dadd-8a1f-922d-9cfd-5acc203214ff.png)

> 警告: Missing git support, install posh-git with 'Install-Module posh-git' and restart cmder.

私は `mini版` をインストールしたためか、git support が入ってないよと知らせてくれています。 `Install-Module posh-git` でインストールしました。途中でいくつか警告が出るので、指示に従って進めましょう。

```ps1
# git をインストール
λ Install-Module posh-git

# バージョン違いなどでうまくインストールされない場合は、強制実行の -Force パラメータを指定してください。
λ Install-Module -Force posh-git
```

その他のトラブルシューティング
----
### git コマンドが見つからない警告

以下のように、 git コマンドが見つからないよというエラーが出た場合は、git をインストールしてください。git のインストールには、 Windows のパッケージ管理ツール [chocolatey](https://chocolatey.org/) がおすすめです。

`警告: git command could not be found. Please create an alias or add it to your PATH.` 

### Enable-GitColors が使われていないという警告

以下のように、Enable-GitColors が使われていないという警告が出た場合は、今のところ放置でよいようです。なぜかというと、将来のバージョンで削除されるとのことで、[issue](https://github.com/cmderdev/cmder/issues/568 "WARNING: Enable-GitColors is Obsolete and will be removed in a future version of posh-git. · Issue #568 · cmderdev/cmder") にも記載されていました。

`警告: Enable-GitColors is Obsolete and will be removed in a future version of posh-git.`

Epilogue - おわりに
====
さくっと導入しようと思ったのに、意外に手間取ったので記事にしておきました。同じ状況になった方のお役に立てれば幸いです。



近況
====

最近
----
- [第4回 ICTトラブルシューティングコンテストの熱い戦いを拝見させていただきました！](http://qiita.com/dz_/items/979dc8e45e8bf5b66122 "第4回 ICTトラブルシューティングコンテストの熱い戦いを拝見させていただきました！")
- [Check! cmder ～ Windows に Monokai スタイルのコンソールを導入 (実行ポリシーのトラブルシューティング)](http://qiita.com/dz_/items/68de2b07aab9ef4aab68 "Check! cmder ～ Windows に Monokai スタイルのコンソールを導入 (実行ポリシーのトラブルシューティング)") ← :new: :sparkles:

Bluemix 関連
----
- [Check! Bluemix で Node.js をスピーディーに開発したい！](http://qiita.com/dz_/items/50949f47ad8e09e491a3/ "Check! Bluemix で Node.js をスピーディーに開発したい！")
- [Check! DBaaS ってなんだろう? IBM Cloudant を Bluemix で使ってみる。](http://qiita.com/dz_/items/ee02ec8144784cface95/ "Check! DBaaS ってなんだろう? IBM Cloudant を Bluemix で触ってみる。") ← :new: :sparkles:

Webフレームワーク関連
----
### PHP
#### Phalcon PHP Framework
- [爆速フレームワーク!! Phalcon PHP Framework](
http://qiita.com/dz_/items/55ae18f7fe3a873bace1 "爆速フレームワーク!! Phalcon PHP Framework")
- [Meet Volt ! Phalcon 謹製テンプレートエンジン Volt - from 第71回 PHP勉強会](http://qiita.com/dz_/items/974a90b32ba6a6e38182 "Meet Volt ! Phalcon 謹製テンプレートエンジン Volt - from 第71回 PHP勉強会")
- [Meet Phalcon! - Phalcon PHPフレームワークを Nginx on Amazon EC2 にインストール！](http://qiita.com/dz_/items/e70d61487224b854b971 "Meet Phalcon! - Phalcon PHPフレームワークを Nginx on Amazon EC2 にインストール！")

#### CakePHP
- [Check! はじめての CakePHP2 ポイントまとめ 〜 Blog Tutorial を動かそう](http://qiita.com/dz_/items/2dd4c68f43484f0f78da "Check! はじめての CakePHP2 ポイントまとめ 〜 Blog Tutorial を動かそう")
- [Check! はじめての CakePHP2 〜 bake でプロジェクトスケルトンを利用する](http://qiita.com/dz_/items/3fa2a7a184de645f71d4/ "Check! はじめての CakePHP2 〜 bake でプロジェクトスケルトンを利用する")

### その他
#### Node.js - Express
- [Check! Node.js Express でウェブ開発 with Visual Studio Code](http://qiita.com/dz_/items/f24b66f9f464b054dd1b/ "Check! Node.js Express でウェブ開発 with Visual Studio Code")

クラウド・インフラ関連
----
### Amazon Web Services
- [Check! はじめての fluentd を Amazon Linux で動かしてみる (ログを PHP から送る)](http://qiita.com/dz_/items/960319ffffa0d7355f8c "Check! はじめての fluentd を Amazon Linux で動かしてみる (ログを PHP から送る)")
- [Check! はじめての Fluentd 〜 IAMロールで Amazon EC2 と S3 間をセキュアに](http://qiita.com/dz_/items/224607c84112ccafa2d6 "Check! はじめての Fluentd 〜 IAMロールで Amazon EC2 と S3 間をセキュアに")
- [Check! はじめての Zabbix インストール on Debian x Amazon RDS](http://qiita.com/dz_/items/3e85dd369c8053ceffe8 "Check! はじめての Zabbix インストール on Debian x Amazon RDS")

### Azure
- [Check! Azure オートメーション ランブックで OMS Search API を利用する (和訳)](http://qiita.com/dz_/items/7de3c282adef71aae7c6/ "Check! Azure オートメーション ランブックで OMS Search API を利用する (和訳)")


技術ブログ寄稿
----

[cloudpack技術ブログ][cloudpack-blog]でも記事を書いています。

- <a href="http://blog.cloudpack.jp/author/oohira/" title="大平 かづみ の記事一覧 | cloudpack技術情報サイト"　target="_blank" rel="nofollow">大平 かづみ の記事一覧</a>

[cloudpack]:https://cloudpack.jp/ "cloudpack（クラウドパック） 400社を超える導入実績! EC2などAWSクラウドの導入設計、構築、運用保守サービス"
[cloudpack-blog]:http://blog.cloudpack.jp/ "cloudpack技術情報サイト"
[大平かづみ]:http://blog.cloudpack.jp/author/oohira/ "大平かづみの記事一覧"