Ich bin hauptsächlich ein Windows-Benutzer, aber ich mache den größten Teil meiner Entwicklung (im Wesentlichen Webentwicklung) mit Unix-Tools und -Software. Ich habe zwischen der Verwendung einer dedizierten virtuellen Lubuntu-Maschine in Virtualbox und der Verwendung einiger Tools direkt in Windows (msgit, python, django) hin und her gewechselt, aber keiner dieser Ansätze ist völlig zufriedenstellend.
Ich würde gerne erfahren, wie andere Entwickler einen Unix-Workflow besser in Windows integrieren können. Zum Beispiel eine engere Integration zwischen Linux und VM und Windows. Die vagabundierende Demo zeigte, wie eine VM in einem Windows-Projektordner funktionieren kann, und das fand ich schön. Ich würde gerne von anderen Tools und Tipps hören, die helfen, den Workflow nachzubilden, den man unter OS X findet (natürlich verstehe ich, dass er unter Windows nicht so eng integriert werden kann, da er nicht die gleichen Unix-Grundlagen hat).
PS: Ich habe auch Cygwin ausprobiert
BEARBEITEN Sie, um zu klären, was mir fehlt (danke an axblount für den Hinweis): Unix-Tools wie msys et al funktionieren nicht so gut wie ihre nativen Unic-Gegenstücke. Viele Skripte und Installationsprogramme erfordern eine weitere Konfiguration oder funktionieren überhaupt nicht. Zum Beispiel ist es nicht sehr einfach, virtualenvwrapper zum Laufen zu bringen. virtualbox: Idealerweise möchte ich Windows-Software (Photoshop, Sublime Text 2) nahtlos mit Linux verwenden. Ich benutze meistens einen FTP-Client atm, um über Dateien zu wechseln, die auf der Windows-Seite bearbeitet wurden, was ein langwieriger Prozess ist.
ZUSAMMENFASSUNG: Es scheint, dass es keine etablierten Lösungen gibt. Als vorübergehende Lösung werde ich wahrscheinlich versuchen, die nativen Versionen von Frameworks und Bibliotheken nach Möglichkeit über die Windows-Befehlszeile zu verwenden und für inkompatible Programme zu einem Tool wie vagrant zu wechseln.
MEHR INFO AUS ANTWORTEN UND KOMMENTAREN: Das Problem der Groß- und Kleinschreibung scheint gegen Windows zu funktionieren, wie von @GlenPeterson hervorgehoben
quelle
Antworten:
Die meisten Ihrer Entwicklungen (im Wesentlichen Webentwicklungen) verwenden Unix-Tools und -Software.
Sie haben verschiedene Alternativen getestet, um diese Tools in Windows zu verwenden, aber bis jetzt haben Sie noch keine gefunden, die so gut funktioniert wie die Realität.
Dann sollten Sie wirklich in Betracht ziehen, sich selbst als Desktop-Betriebssystem auf Linux zu migrieren und Windows für alles andere zu virtualisieren.
Glauben Sie mir, Sie werden es nicht bereuen. Ihr Desktop ist schneller, sicherer und virenfrei und Sie verfügen über alle Tools, die Sie für Ihre Entwicklungsprojekte benötigen.
BEARBEITEN:
Platz für einen tollen Kommentar von @GlenPeterson:
Wenn Sie unter Unix / Linux bereitstellen, sollten Sie unter einem Betriebssystem arbeiten, bei dem zwischen Groß- und Kleinschreibung unterschieden wird. Die Groß- und Kleinschreibung von Windows kann eines Tages zu Problemen führen.
quelle
Wenn Sie Ihre Software auf Linux-Servern bereitstellen, sollten Sie die Bereitstellung Ihrer Software auf einem Linux-Server (auch in einer VM) üben. Machen Sie Ihren Bereitstellungsprozess automatisch. Der wichtigste Teil ist die Codeverteilung und -bereitstellung. Sie müssen konsistent auf Ihrem Zielsystemtyp aufbauen und bereitstellen.
Suchen Sie sich ein gutes Terminal und lernen Sie, es zu benutzen. Ich benutze Putty und habe festgestellt, dass es viel besser ist als Cygwin und Msys.
Bei einigen kontinuierlichen Integrationssystemen können Sie Code remote ausführen und testen, bevor er für Ihr VCS festgeschrieben werden darf. Die Verwendung dieser Funktionalität auf Ihrem Zielsystemtyp kann viele Probleme verhindern.
quelle
Wenn Sie eine aktuelle Windows-Version ausführen , schauen Sie sich SUA an , das Subsystem für Unix-Anwendungen. Es verfügt über eine Shell (ksh) und unterstützt über 300 gängige Unix-Befehle und -Dienstprogramme. Die meisten Dokumente befassen sich mit Server 2003 R2, aber es wird auch unter Windows 7 installiert.
quelle