web-dev-qa-db-ja.com

UNIX開発環境をWindowsに適切に統合する方法

私はほとんどWindowsユーザーですが、私の開発のほとんど(本質的にはWeb開発)をUNIXツールとソフトウェアを使用して行っています。私はVirtualboxで専用のlubuntu仮想マシンを使用することと、Windowsで直接いくつかのツールを使用すること(msgit、python、Django)を行ったり来たりしてきましたが、これらのアプローチはどれも完全に満足できるものではありません。

他の開発者がUNIXワークフローをウィンドウに統合するためにどのように使用するかについて知りたいのですが。たとえば、LinuxとVMとWindowsの間のより緊密な統合。気まぐれなデモは、VMがWindowsプロジェクトフォルダーから機能する方法を示したもので、ニースがそれを見つけました。他のツールや、ワークフローの模倣に役立つヒントを知りたいと思います。 OS X(もちろん、同じUNIXの基盤がないため、Windowsと緊密に統合できないことを理解しています)。

PS:cygwinも試しました

私が何を欠いているのかを明確にするために編集する(それを指摘してくれたaxblountに感謝):msysなどのUNIXツールは、ネイティブのunic対応ツールと同じように機能しません。多くのスクリプト、インストーラーは追加の構成を必要とするか、まったく機能しません。たとえば、virtualenvwrapperが機能するようにするのは簡単ではありません。 virtualbox:理想的には、LinuxとシームレスにWindowsソフトウェア(フォトショップ、崇高なテキスト2)を使用したいと思います。私は主にFTPクライアントatmを使用して、Windows側で編集されたファイルを移動します。これは退屈なプロセスです。

要約:確立された解決策はないようです。一時的な解決策として、可能であればウィンドウズのコマンドラインからフレームワークとライブラリのネイティブバージョンを使用して、互換性のないプログラムのためにvagrantなどのツールに切り替えようとするでしょう。

返信とコメントの詳細: @GlenPetersonによって指摘されたように、大文字と小文字を区別する問題はWindowsに対して機能するようです

8
Shigar Kenze

ほとんどの開発(本質的にWeb開発)では、UNIXツールとソフトウェアを使用しています。

これらのツールをWindowsで使用するためのさまざまな代替手段をテストしましたが、現在のところ、実際に機能するものは見つかりません。

次に、実際に自分をデスクトップOSとしてLinuxに移行するを検討し、他のすべてのものについてWindowsを仮想化する必要があります。

私を信じて、あなたはそれを後悔しないでしょう。デスクトップはより高速で、より安全で、ウイルスがなく、開発プロジェクトに必要なすべてのツールが手に入ります。

編集:

@GlenPetersonからの素晴らしいコメントに対応する:

Unix/Linuxに展開する場合は、大文字と小文字を区別するOSで作業する必要があります。 Windowsの大文字小文字の区別は、いつか問題を引き起こす可能性があります。

7

Linuxサーバーにソフトウェアをデプロイする場合は、Linuxサーバー(VM内でも)にソフトウェアをデプロイする練習をする必要があります。展開プロセスを自動化します。最も重要な部分は、コードの配布と展開です。ターゲットシステムタイプで一貫してビルドおよびデプロイする必要があります。

自分に合った端末を見つけて、使い方を学びましょう。私はPuTTYを使用していますが、cygwinやmsysよりもはるかに優れていることがわかりました。

一部の継続的インテグレーションシステムでは、VCSにコミットする前に、コードをリモートで実行およびテストできます。ターゲットシステムタイプでこの機能を使用すると、多くの問題を防ぐことができます。

4
Nathan Pilling

Windowsの最新バージョンを実行している場合は、Unixアプリケーションのサブシステムである [〜#〜] sua [〜#〜] を参照してください。シェル(ksh)があり、300を超える一般的なUnixコマンドとユーティリティをサポートしています。ほとんどのドキュメントはServer 2003 R2について語っていますが、Windows 7にもインストールされます。

1
TMN