So integrieren Sie eine Unix-Entwicklungsumgebung besser in Windows [geschlossen]

8

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

Shigar Kenze
quelle
Verwandte Stapelüberlauf
Oded
Sie scheinen die üblichen Grundlagen abgedeckt zu haben. Was fehlt Ihrer Meinung nach in den Dingen, die Sie versucht haben?
Axblount
@axblount Ich habe die Frage bearbeitet
Shigar Kenze
Warum nicht den Sprung wagen und Windows mit Linux überschreiben? :)
Earlz
Sie müssen weiterhin in der Lage sein, in Windows-Webbrowsern zu testen. Daher ist es nicht ratsam, Windows vollständig durch Linux zu ersetzen.
Nathan Pilling

Antworten:

7

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.

Tulains Córdova
quelle
Ich benutze Linux seit 1998, also kann ich behaupten, dass ich es gut kenne. Insgesamt mag ich Linux sehr (besonders Ubuntu und Derivate). Aber nachdem ich zwischen beiden hin und her gegangen bin, besteht kein Zweifel daran, dass Windows meine Anforderungen besser erfüllt (Photoshop, Spiele, Hardware-Unterstützung). Da Hardwareprobleme heute noch auftreten, würde ich Linux lieber unter Windows virtualisieren als umgekehrt. Bei der Arbeit verwende ich neben meinem Windows-PC eine dedizierte Linux-Box. Insgesamt stimme ich zu, dass es ein großartiges Betriebssystem ist!
Shigar Kenze
1
Nun, ich bin vor 4 Jahren bei der Arbeit auf Linux umgestiegen. Ich spiele keine Spiele bei der Arbeit;) und die kleine Bildmanipulation, die ich mache, mache ich in Gimp. Und Ubuntu hat in den letzten zwei Jahren einen langen Weg in der Hardware-Unterstützung zurückgelegt. Es ist jetzt praktisch p & p. Und kein Virus.
Tulains Córdova
3
Wenn Ihre Projekte unter * nix bereitgestellt werden, müssen Sie an einem Betriebssystem arbeiten, bei dem zwischen Groß- und Kleinschreibung unterschieden wird. Ich habe vor 3 Jahren als primären Desktop auf Linux umgestellt. Lubuntu fehlen einige Desktop-Funktionen, die ich wirklich mag. Versuchen Sie stattdessen Xubuntu. Wenn Ihr Computer über eine nVidia-Grafikkarte verfügt, sollten Sie in Bezug auf die Hardware in Ordnung sein. Ich führe 3 verschiedene Windows-Versionen in VirtualBox zum Testen aus. Ich habe Photoshop in einem von ihnen, benutze aber oft GIMP. Ich spiele keine Spiele, aber Steam für Linux (von Valve) sollte das in den nächsten 6 Monaten für Sie lösen. Werden Sie Beta-Tester und machen Sie es schneller!
GlenPeterson
1
Meine Webentwicklungsfirma begann vor 8 Jahren als Microsoft-Shop, wurde aber immer auf einem * nix-Server bereitgestellt. Ein Jahr später waren wir alle * nix / BSD und alles, was heute von Windows übrig bleibt, ist eine alte Box in der Ecke zum Testen des IE.
Rob
1
Wenn Sie in einer * nix-Umgebung arbeiten / bereitstellen, eröffnet die direkte Arbeit an einer viele Möglichkeiten, die Sie sonst nicht schaffen würden. Wenn Sie nicht in die Umgebung eintauchen, kratzen Sie nur an der Oberfläche. Ich war vor ungefähr einem Jahr in einer ähnlichen Position wie Sie und habe es nicht bereut, für eine Sekunde zu Ubuntu gewechselt zu sein. So viele Tools lassen sich nicht gut oder gar nicht portieren.
Adrian Schneider
4

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.

Nathan Pilling
quelle
Ich benutze tatsächlich Kitt bei der Arbeit. Ich gebe zu, dass ich weniger über kontinuierliche Integrationssysteme Bescheid weiß. Eine davon könnte dann verwendet werden, um Dateien automatisch auf die VM zu übertragen? Das würde funktionieren. Ich nehme an, die meisten von ihnen laufen unter Windows? Ich schaue das nach atm.
Shigar Kenze
1

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.

TMN
quelle
Interessant. Ich hoffe, sie aktualisieren dies weiter. Ich werde es trotzdem versuchen. Ich mag, dass es cmd.exe (und vermutlich auch Powershell) verwendet hat
Shigar Kenze