<スキップ可能な部分>
私はWindows環境のIT(主にデスクトップサポートとネットワーク管理)で働いており、時々プログラムを作成しています。
数週間前、私は自分のコマンドプロンプトが必要とするBash環境がなければ、自分がなりたいほど効果的ではないと判断しました。これは、Rubyとgitを使用している場合に特に当てはまります。しばらくの間Msysgitを使用していましたが、Linuxのように拡張できない方法が気に入らなかったため、Cygwinをインストールし、数週間それで遊んだ。
Cygwinと同じぐらい素晴らしいですが、これはコマンドプロンプトの機能を強化するためのものであり、Linuxとの互換性は快適な副作用です。これは、Ruby= 1.9.3にアップグレードしました(動作しましたが、簡単ではありませんでした)、rvmをインストールし(動作しなかった)、RMagickをインストールしようとしたときに(特にそうでない可能性があります)動作しますが、頭痛のように見えます)。
そこで、今は仮想マシンでLinuxを実行することを検討しています。しかし、私は別のワームの缶になるのではないかと心配しています。それがわかるまでに何時間も無駄にしています。 CygwinがWindowsで実行され、IDE、ユーザーフォルダーなどを使用できるのが好きです。しかし、それに対するサポートが主要なディストリビューションほど完全ではないのが好きではありません。
</スキップ可能な部分>
以前に一般的な問題に直面したことがあり、私の経験によると、2つのワークステーションのみが最善の解決策です。
それとは別に、仮想環境でLinuxを実行するほうがはるかに優れています。まず第一に、あなたは完全なLinux機能を持っています(3Dアクセラレーションを除くが、おそらくそれは必要ないでしょう)。スナップショットを作成し、問題が発生した場合はスナップショットに戻すことができます。テンプレートを使用して複数の環境を起動でき、非常に便利です。
私が考えることができる唯一の落とし穴は、ホストマシンのパフォーマンスの問題です。通常のワークステーション/ PCの場合、IDE + 1台の仮想マシン+ 100個以上のタブブラウザーを使用すると、動作が遅くなります。
1:cygwinは、迅速なハッキング、およびHost-osリソースにアクセスできるために適しています(IEたとえば、bashスクリプトで実行できます)。緊密に統合された、いくつかの「本物の」 Word、vmに移動します。これはすべてをエミュレートし、実際のマシンから開発を分離します。これは場合によっては良いことかもしれません...実サーバーをシミュレートするプラスとして:)
2:少なくともvirtualboxには共有フォルダーがあり、ローカルフォルダーを共有して、それをvmでローカルフォルダーとして表示できます(ローカルまたはWindowsの共有として表示されます。次に、その「エントリポイント」を使用して、ものをvmにシンボリックリンクし、実際のファイルが実際の(ホスト)マシンにある場合に必要なことを実行できます。
聞いたところで、協調Linuxと呼ばれるものがあります。 LinuxとWindowsカーネルを同時に実行するので、同時に使用できます。私はそれを使用したことがありませんが、ここでは http://www.colinux.org/
LinuxボックスにSSHで接続します。これは誰もがやっていることです。なぜこれが答えではないのですか?
2つのオプションの長所を手に入れているのはDockerを使用していることだと思います。これにより、cygwinがシンプルになり、VM機能が向上し、パフォーマンスが向上します。
仮想マシン内のLinuxは、cygwinやモックシェルよりも優れたエクスペリエンスを提供します。
ただし、VMを実行するには、デスクトップバージョンのLinuxとコマンドラインバージョンのどちらを使用するかによって、多くのRAMが必要になります。
私は仕事で8 GBのRAMを搭載したPCを所有しており、メインOSとしてubuntu 64ビット、2つのubuntuサーバー(これらは開発環境用に2つの異なるプロジェクトです)、およびWindows 7 VMおよびwin XP VM。
2つのubuntuサーバーと他の1つのVM=を同時に実行できます。VMを実行したい場合、ここでのキーはより多くのRAMです。
私はLinuxを使用していますVMこれは、Windows 7環境内でVMは、最終的な本番環境のできるだけ代表的なものです。セットアップ全体は、 Eclipse IDE ms-Windows 7の場合。テスト済みのバージョンを運用サーバーにコミットまたはタグ付けする前のローカルの完全なテストには、これは非常に優れています。
同様にあなたが言及したように、これが適切にセットアップされて完全に設定されるまでには少し時間がかかります。そのため、小さなトリックやタスクだけが必要な場合は、cygwin
を使い続けることができます。たとえば、Perl
を構成し、mysql
をcygwin
内にコンパイルするという重大な問題に直面しました。したがって、基本的な使用法は問題ありませんが、完全なLinux環境を十分に活用することはできません。
どちらを選択するかは、最終的なサーバー設定の目的に大きく依存します。 A VMは、必要に応じてそれを実行します。そのためのセットアップコストは高くなるため、この時間への投資は、返されるために頻繁に使用する必要があります。
Rubyで作業する場合は、Ubuntu仮想マシンを起動して実行します:) WindowsでRubyなどを試したことはありませんが、セットアップと構成。私はすべてのRails開発にMacを使用しているため、Windows側でコメントすることはできません。
仮想マシンの作成に関しては、VMware Workstationを好みますが、VirtualboxやVMware Serverなどの無料の代替手段があります。