おれだけWindows

おれ以外全員Macなんだよ

Macの集団に紛れ込むための開発環境づくり

はじめに

私の職場では皆Macで開発を行っていて、サーバー以外は全てMacで実行するのを前提に作ってあるんですが、 そこにある日私がSurfaceを片手に颯爽と登場したわけですよ。

で、まずは手始めにgitでプロジェクトをクローンした途端、 パスが長すぎてチェックアウトできないとか、シンボリックリンクがフォルダに変わっちゃったりとか、 変えた覚えのないファイルが大量に変更扱いになっているといった壁にぶち当たります。

しかし、上手くいかないからといって諦めるわけにはいかない。 Surfaceを仕事で使おうとしている人間としては、何としてでもWindowsでも作業できる環境を整えて、 これさえあれば何もいらない状態まで持って行かないと気が済まないわけです。

そんなこんなで、こうした理不尽な(?)トラブルにコツコツと対応しつつ、Mac集団の中にいてもちゃんと仕事ができるよう少しずつ開発環境を整えていくことになったのでした。

やること

このブログではクロスプラットフォームのアプリ開発をしたり、サーバー開発をするにあたっての、 Windows上での基本的な開発環境の構築について自分がやったことを書いていきたいと思います。 今回は細かい手順とかは置いておいて、とりあえずどんなアプリケーションを入れたかざっくりとメモしておきます。

インストールしたアプリ

エディタ

Visual Studio Code

本家のVisual Studioが格好良くて好きなのでその流れで使い始めたが、アップデートが頻繁で、 プラグインもものすごいスピードで充実していっているので不自由しない。

けどAtomSublime Textでも全然いいと思うよ。

ミドルウェア

node.js

type scriptをVisual Studio Codeからビルドしたりするのに使う。

サーバープログラムなどを作るのに使用する場合は後述する仮想マシン(Ubuntu)にインストールしたものを使う。

仮想マシン

Vagrant

Dockerを動かしたいが、cmdでは不便なのでこれを入れた。

インストールしてからチュートリアル通りにコマンドを打つとUbuntu仮想マシンVirtualboxで立ててくれるんだけど、 Windowsボリューム上のフォルダをマウントしたり、ネットワークの設定を行ったりが楽にできる。

ターミナルエミュレーターsshで接続して操作する。

で、Ubuntuなので当然apt-getでいろいろ入れられる。Gitのレポジトリもここに直接展開するようになる。だってWindows上でやると色々面倒くさいんだもん。

そうやって作業環境を整えていくうちに、結局普通にUbuntuを使って開発しているような状態に。

本来はDockerをスムーズに動かすためのミニマムな仮想マシンだった筈だが、気がついた時にはサイズが7Gにまで膨らんでいた。

ターミナルエミュレーター

Poderosaを使ってます。

まとめ

Macの職場にWindowsで潜り込もうと奮闘した結果、結局開発環境の大部分は仮想マシンの中のLinux上に作ることになった。

作ったものの実行に必要なミドルウェア等は全て仮想マシン上にインストールし、 Windows上で使っているのはエディタとターミナルエミュレーターなど末端のツールのみという構成になる。

Macで作業する場合と違って、作業環境と実行がはっきりと分かれているのはメリットといえばメリットかも?

おわりに

今回は大雑把な環境を列挙するにとどまりましたが、今後はできればノウハウ的なことを書きたいです。