Windows10でAtomのTerm3を入れる(たぶん)最小の方法


Visual Studio 2015 なんて無かった！無かった！[^1]

[^1]: 大事なことなので二回言いました。

【注意】作者はターミナルに NYAGOS + cmder を使っていますので、プロンプトとかがおかしい気がしますが、気のせいです。

## `node-gyp rebuild` でのエラーはもう見たくない

Atom のパッケージは JavaScript (実体は altJS といくつかのファイル) だけで作られているのがほとんどですが、中にはコンパイルが必要な物があります。そのとき使われるのが [node-gyp](https://github.com/nodejs/node-gyp) です。node-gyp が正常に動作するには次の二つが必要です。

* Python 2.7.x
* C/C++ コンパイラ
    * Linux : GCC + make
    * OS X : Xcode 
    * Windows : Visual C++

この二つがインストールされて、かつ、認識されていないとパッケージインストール時に `node-gyp rebuild` でエラーになります。ちゃんとインストールされているかは `apm -v` で確認できます。

Linux と OS X は余り悩む必要はありません。Linux なら Python はほぼデフォルトで入っていますし、入っていなくてもパッケージで簡単に入れられます。あとは make と GCC もパッケージで簡単に入れらます。OS X も Python はデフォルトで入っていますし、Xcode も App Store から簡単に入れられます。しかし、問題は Windows です。

## node-gyp の環境を整える

### Python 2.7.x

Python は公式の Windows 版がありますので、それをインストールするだけです。[Chocolatey](https://chocolatey.org/) を入れているのであれば、コマンド一つで入ります。

```nyagos
$ choco install python2
```

### Visual C++

node-gyp の推奨では、Windows 10 では [Visual Studio Community 2015](https://www.visualstudio.com/products/visual-studio-community-vs) です。IDE 本体だけで無く、C# のコンパイラが必ず入る[^2]こともあり、かなり容量が必要になってしまいます。

[^2]: それなのに、C++ はオプションに格下げという理不尽さです。なお、Express for Desktop も C# 等が入りますので同じです。余談ですが、C# のコンパイラが必要な場合は、[Microsoft Build Tools 2015](https://www.microsoft.com/ja-JP/download/details.aspx?id=48159) や [Mono for Windows](http://www.mono-project.com/download/#download-win) があります。

と言うことで、Visual C++ のコンパイラやそれに必要なツールのみをインストールできる Visual C++ Build Tools 2015 を使います。[Visual C++ Team Blog | Announcing the official release of the Visual C++ Build Tools 2015](https://blogs.msdn.microsoft.com/vcblog/2016/03/31/announcing-the-official-release-of-the-visual-c-build-tools-2015/) からダウンロードしてください。コンパイラ自体は Visual Studio 2015 Update 2 と同じものだそうです。リンク先のサイトからダウンロードしてインストールしましょう。インストールオプションはとりあえず全てにしておきます。もしかしたら、デフォルトでも良いかもしれません(未検証)。

インストールが終わったら、一つだけユーザの環境変数を設定する必要があります。環境変数の設定は何でも良いのですが、[Rapid Environment Editor](http://www.rapidee.com/)[^3] がお勧めです。

[^3]: `choco install RapidEE` で入ります。

|変数|値|
|---|---|
|GYP_MSVS_VERSION|2015|

Rapid Environment Editorで作成する場合、TypeはStringにします。

### Atom で確認

Pyothon と Visual C++ のインストールおよび環境変数の設定が終わったら、**ターミナルを起動し直してから** `apm -v` コマンドで認識されているかを確認します。

```nyagos
$ apm -v
apm 1.9.2
npm 2.13.3
node 0.10.40
python 2.7.11
git 2.7.1.windows.1
visual studio 2015
```

pyothon と visual studio の所にバージョンが出てきましたでしょうか？出てこないようであれば、再度インストールされているかを確認して下さい。

## Term3 のインストール

では、Term3 のインストールをしたいと思いますが、設定から term3 を選んで Install でうまくインストールできるはずです[^4]。

[^4]: Term3 本家で問題があった Windows だと問題があった pty.js から ptyw.js に変更済みです。以前の書き込みにあった修正は必要ありません。

デフォルトのシェルは PowerShell です。他のシェルを使いたい場合は、Term3 の設定を変更します。

|シェル|Shell Arguments|Shell Override|
|---|---|---|
|コマンド プロンプト||C:\Windows\System32\cmd.exe|
|NYAGOS||C:\ProgramData\Chocolatey\bin\nyagos.exe[^5]|  
|Git の bash|--login -i|C:\Program Files\Git\bin\bash.exe|

[^5]: Chocolatey で入れた場合。

指定はフルパスである必要があります。**".exe"等の拡張子は必須です**。パスにスペースがある場合でも、`"`で囲む必要はありません。

これで一安心と思いきや、なぜか、環境変数 PATH が吹っ飛びます。なんで吹っ飛んじゃうかはまだ調べてないです。そのうち調べます。そのうち直るんじゃ無いかな…。

これで Windows でも Atom だけで生活できるね！できるね！[^6]

[^6]: 大事なことなので(ry

---

2016年6月3日 更新

* Visual C++ Build Tools 2015 正式リリースに伴い、ダウンロードするURL等を変更しました。
* Term3 が Windows への対応として pty.js から ptyw.js へ変更済みのため、パッチは不要になりました。
* Term3 でのコマンド指定方法について変更しました。