読者です 読者をやめる 読者になる 読者になる

Windowsユーザが開発環境を整える方法

要約: Windowsにおけるソフト開発環境構築のデファクトスタンダードは、仮想マシンを立ててそこにlinuxを入れることである。しかしこのことはそれほど周知されていないように思うので書いたのがこの文章である。知ってる人が読む価値は全くない。

まえがき

WindowsはXP以降非常に安定したOSであり、私も愛用している。
しかし致命的なのは、ソフトウェア開発を行うための環境構築が糞がつくほど面倒くさいことである。
つまり、例えばphpならphp, javaならjavaのサイトへ行って、バイナリを落としてきて、
インストールして、パスを通して、さらに必要ならライブラリをググって探して落としてきて、
パスを通して・・・といった具合である。

要するにパッケージ管理システム(ファーストパーティ謹製のもの)が存在しないため、
非常に面倒なことになっているのである。

一方でパッケージ管理システムを標準搭載している開発者向けのOSといえば、
やはりいわゆるlinuxである。
しかしWindowsを捨ててlinuxを使うのは、多くの人にとって厳しい。
そのため、一昔前はwindowslinuxデュアルブートさせるという手法が流行ったが、
結局これは再起動が面倒でlinuxを使わなくなるのがオチなのである。
今どきパソコンの電源は切らない。スリープさせるだけである。
あとcygwinとかいうのもあったが、あれはゴミなので使ってはいけない。

そんな背景で、最近の開発環境構築のデファクトスタンダードは、
windowsマシンに仮想化ソフトを入れて、そこにlinuxを入れ、
linux内で開発環境を構築する
、というものになっている(と思う)
この方法により、あのクソみたいなコマンドプロンプトともおさらばできる。

仮想化とか仮想マシンとかいうと糞重いイメージがあるが、
最近はCPUのマルチコア化、メモリの大容量化のおかげで
ホスト側(windows)のパフォーマンスはほとんど削がれない

具体的には、ゲストのlinuxで開発しつつ、ホストのwindows
タブをいっぱい開いてググりまくっても全然問題ない。

以下ではその具体的手順を説明する。

やり方

vmware playerの入手

仮想化ソフトはいろいろあるが、私はvmwareを使っている。
vmware playerは機能限定の無料版だが、十分事足りるのでおすすめしておく。
https://my.vmware.com/jp/web/vmware/free#desktop_end_user_computing/vmware_player/6_0
ダウンロード→インストールはパソコンの大先生なら楽勝だろう。

Ubuntuインストールイメージの入手

Linuxにも色々あるが、今ならubuntu を選ぶのが間違いないと思う。
ネット上の参考文献の量が他のディストリビューションとくらべてダンチである。
普通はubuntu serverを入れれば良いと思う。
どうしてもコマンドラインが苦手で、ファイル操作などをGUIで行いたい、
ホストPCのスペックは十分あるぜ!
というならばデスクトップ版のubuntuを入れても良い。
まあ開発を行う上でコマンドラインは避けられないわけだが。
どっちにせよ、インストールディスクのisoを落として保存しておく。
バージョンは、14.04がLTSなので推奨。

サーバ版
http://www.ubuntu.com/download/server
デスクトップ版(日本語remix)
https://www.ubuntulinux.jp/download/ja-remix


仮想マシンの設定&ubuntuインストール

vmware playerを立ち上げて、新規に仮想マシンを作る。
名前はなんでも良い。
仮想マシンに割り当てるCPUとメモリは、サーバ版ならCPU1コア、RAM512MBでも
十分に間に合う事が多い。足りなければあとから変更もできる。
デスクトップ版はよくわからんが、CPU2コア以上、RAM1GB以上は
割り当てたほうがいいんじゃないですかね。
あとは仮想DVDドライブにubuntuのisoを指定して仮想マシンを起動すれば
インストーラが起動する。
ウィザード形式なのでパソコンの大先生なら楽勝でしょ。
わからなかったらググれば情報は腐るほど出てくる。

インストール後の設定少々

vmware playerの枠の中にubuntuが立ち上がっていると思う。
ログイン後、サーバ版の人は次のように打ち込んでソフトウェアを最新にしておくと良い。

sudo apt-get update
sudo apt-get dist-upgrade

デスクトップ版の人は、アプリ一覧からターミナルを選んで立ち上げて、
同じコマンドを打ち込む。
sudoするとパスワードを聞かれるが、これはログインパスワードを入れれば良い。
デスクトップ版の人はこれで終わりである。
あとはubuntuの使い方をググりつつ開発環境をapt-getやsynapticで入れていってください。

ホストからssh仮想マシンに繋ぐ

サーバ版の人は、もちろんvmwareの枠内で作業しても良いのだが、
windowsからsshubuntuにログインしたほうが
いくつもターミナルを立ちあげられて便利である。
windowsで使えるsshクライアントはputtyが便利である。日本語版もある。
http://yebisuya.dip.jp/Software/PuTTY/

sshでつなぐために、まずはubuntuにsshdをインストールする。

sudo apt-get install openssh-server

次にubuntuのネットワークアドレス(IPアドレス的なもの)を確認しよう

ifconfig

inet addr に表示されているのがネットワークアドレスである。
puttyを立ち上げ、上記のアドレスを入力し、
ユーザ名にはubuntuのユーザ名、パスワードにはログインパスワードを入力する。
これでsshubuntuに接続できるはずである。
あとは、apt-getなりなんなりで、好きなように開発環境を構築して行けば良い。
あらゆる開発ソフトがapt-get でインストールできるし、
わからなければ参考文献は山のようにネットに転がっている。

おまけ; windows用のXサーバはXmingを使え

もし開発でXを利用したくなったら、windowsにもXサーバを用意する必要がある。
これのデファクトスタンダートはXmingである。
http://sourceforge.jp/projects/sfnet_xming/
Xとは何か?とか、puttyでのフォワードの設定とかは面倒なので省く。
ググればいくらでも出てくる話である。