Node.js Entwicklung, Windows oder Linux?
Ich bin interessiert an web-Entwicklung auf der Node.js -Plattform. Mein host-OS ist Windows 7. Was wäre die preferd Möglichkeit zum einrichten einer Entwicklungsumgebung. Führen Sie ihn direkt auf dem host oder in einer linux-basierten virtuellen Maschine? Was sind die vor-und Nachteile zwischen diesen beiden Methoden?
Wenn ich gehen mit einer VM, kann ich immer noch laufen Sie den text-editor und web-browser in Windows (aus performance-Gründen)?
Kommentar zu dem Problem
node.js läuft auch Prima unter Windows, warum also das verlassen der bekannten Umgebung?
Nur so ein Gedanke. Einige Umgebungen besser laufen auf linux und vice versa. Und einige Plattformen sind so Komplex, dass können Sie virtualisieren möchten. Ich nehme es, dass es nichts zu gewinnen-Formular virtualisieren Node.js dev-Umgebung für kleine Projekte?
Läuft node.js für die Produktion könnte besser funktionieren auf Linux (weiß ich ehrlich gesagt nicht, aber es ist eine angemessene Vermutung, da es wurde ursprünglich entwickelt, auf einem Unix - -y-Plattform). Aber für Entwicklung arbeiten die "Leistung" des Benutzers auf dem desktop ist in der Regel viel wichtiger als die rohe Leistung der server-Umgebung.
Nichts berührt durch eine Menge von JS Entwickler arbeiten 'beste', auf einer einzigen Plattform für lange Zeit.
Linux, NodeJS und NPM-Entwickler hasst Windows und in der Tat nicht. Er ist nicht den Fehler zu beheben, die in dieser Plattform.
InformationsquelleAutor der Frage Gabriel Smoljár | 2012-09-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wir haben ein system, über die wir benutzen Sie einfach eine config-Datei, die Griffe alle Probleme wie Weg Unterschiede (
"c:\blarg"
vs"~user/blarg"
) und, als bonus, ermöglicht uns, die Unterschiede zwischen debug-und Produktion-Umgebungen.Node.js ist cross-Plattform, so dass wir völlig die Entwickler arbeiten auf allen Arten von Computern, und es ist überhaupt kein problem.
Dies ist ein Beispiel-config-Datei die ich auf einen file-storage-Projekt:
Für Windows-Computer, ändern Sie einfach die Pfade. Es ist alles gut!
Dann im code, können Sie einfach geben:
Umarmung des Multikulturalismus!!!
InformationsquelleAutor der Antwort MarcWan
Eh aus Erfahrung, verwenden Sie
Linux- Andockfenster.Bearbeiten Verwenden Sie das Andockfenster. Backen Sie in Ihre Abhängigkeiten, die Montage Ihres Projekt zur Laufzeit pin zu einer bestimmten version von LTS Knoten nur. Ich würde einen 2gb-Andockfenster Bild über un-runnable Projekt führt zu Tage verloren wird gezwungen, zu aktualisieren, zu neuen Paketen. - 2018/04/10
Aber von jemandem, dessen verbrachte die letzten 8 Jahre in der Entwicklung in einer linux-basierten Umgebung, und nachdem er in den letzten 6 Monaten der software-Entwicklung mit nodejs in einer windows-dot-net-Umgebung, sind hier meine Entdeckungen, schockierende oder anderweitig...
Probleme unter windows:
können nicht effektiv nutzen AndockfensterNeueste version des docker-toolkit löst dieses Problem, soweit ich betroffen bin. ymmv.das windows-äquivalent von Debian
build-essentials
ist tatsächlich eine unterschiedliche weitläufige krank benannte Sammlung von gui nur Installationsprogramme, verteilt über das internet-Sie alle erfordern eine bestimmte Reihenfolge der installation. Diese, im Vergleich zusudo apt-get install build-essentials
übermäßig zeitaufwendig und birgt versteckte Fallstricke.Entwicklung auf windows ermöglichen Ihnen die schlechte Angewohnheit, gemischte groß - /Kleinschreibung von Pfadnamen, es sei denn, dein team hat eine strenge Richtlinie, die befolgt wird/erzwungen, das wird ein rutschiger Abhang, um später Probleme auf.
während windows unterstützt mehr als 256 Zeichen in Pfade, wichtige Werkzeuge durch aus nicht. geben Sie die Bühne Links: rimraf und robocopy... ugh.
windows terminal saugt... also nicht die Standard-shell: cmd.exe...
Powershell ist viel zu ausführlich in der syntax und nicht nach meinem Geschmack... die Installation Cmder aleviates diese etwas, aber die einzige Möglichkeit für Cmder Schnittstelle cmd.exe ist im Grunde kopieren Sie Tastenanschläge, um eine versteckte windows-terminal ausgeführt wird cmd.exe. (lolwut). Cmder funktioniert viel besser mit Muscheln, ein modularer (zsh, bash, etc).. update: ich habe jetzt powershell verwenden, mit pshazz und scoop, was ist eigentlich angenehm zu bedienen.Dass noch verbessert der shell-und terminal-situation, nodejs fürIch, den dont' scheint zu sein, dass dieses Problem mehr, denn ich habe aufgenommen eine Mischung auswindows wird immer noch davon aus, dass deine Umgebungsvariablen %% %%
%WINDOWS% %SORTE%... nicht den $UNIX - $ - STIL. So werden Sie grundsätzlich
mit bower und npm meist aus cmd.exe... mehr pfui.
cross-env
and commander oder yargs.Müssen Sie auch installieren Sie python für windows, kein problem, da choco vorhanden ist und Sie zurück gibt. update: haben Sie einen Blick auf boxstarter, wird Ihnen helfen, automatisieren Sie Ihre neue Maschine-setup mit Rezepten, oder Sie könnte tatsächlich graduiert mit ansible oder salt).
erfahrenen python -, ruby-Entwickler wird Ihnen sagen, dass alte Projekte benötigt die version Ihrer engine silo würde, wenn Sie brauchen, um zu überdenken, die Sie (Upgrade auf neuere Versionen ist meist nicht sinnvoll oder nicht praktikabel Lesen: Kaninchen Löcher), so dass Sie wollen so etwas wie rvm und virtualenv...
nvm (die funktioniert nur auf unix-Systemen linux und macosx), weil es
eine Sammlung von bash-Skripten. Ich empfehle die Verwendung von ZSH als shell zusammen mit Zgen und
Tarrasch/zsh-autoenv
plugin.aber du bist besser dran mit nvm-windows, weil "Gründe".Kratzer, verwenden Sienodist
auf windows - ... bar für die weitaus bessere Wahl, die Sie nicht brauchen, um über eine gewisse Art von autoenv seit nodist durch die Konstruktion verarbeitet dieses.Installation unter Windows:
choco install cmder nodejs python2
choco install python2
http://scoop.sh
, dann verwenden Sie es zu installieren pshazz.installieren nvm-windowsinstallieren nodist.installieren Sie visual-studio-2012-express, dann nie starten Sie es, wenn Sie den Schatz Ihrer cpu-Zyklen.dies mag übertrieben da microsoft freigegeben haben, ein äquivalent zur build-essentials.Probleme auf Linux:
tldr; verwenden nvm. weitere Gründe, andere als die unten.
müssen Sie das Globale npm node_modules Pfad zu einem Benutzer im Besitz Verzeichnis (habe ich angefangen mitEin nicht-Problem bei der Verwendung von nvm.~/.local/share/npm
). Angenehm, das ist etwas, fand ich die windows-installation von nodejs bekam Recht (wahrscheinlich nicht absichtlich).Ubuntu hat bereits eine Binärdatei namensauch ein nicht-Problem bei der Verwendung von nvm.node
, so#!/usr/bin/env node
wird standardmäßig nicht ausgeführt nodejs. zum Glück debian-Systeme haben ein ordentliches management-tool für die Kontrolle, was dieenv
binäre strahlt:update-alternatives
. ignorieren Sie Vorschläge, um symlinks benutzen, hier wird nur zu Problemen führen, später auf subtile Art und Weise.Installation unter Linux :
Referenzen:
http://bliker.github.io/cmder/https://github.com/coreybutler/nvm-windowsInformationsquelleAutor der Antwort airtonix
Ich bin auch auf Windows 7 und benutzen von Virtualbox mit einem Linux ( debian ) Gast, ich würde empfehlen es, weil ich für mich selbst bin schneller dabei einige Sachen in der Kommandozeile klicken um in Windows.
Ein weiteres nettes feature ist, dass, wenn Sie Ihren VM auf einem USB-stick können Sie es mit Ihnen und verwenden Sie es überall dort, wo eine Virtualbox-Host installiert ist, so können Sie Ihre gesamte Entwicklungsumgebung mit Ihnen.
Es ist überhaupt kein problem, verwenden Sie Ihre Lieblings-text-editor oder browser in Windows, nur samba installieren und montieren Sie Ihr home-Verzeichnis in Windows.
Dasselbe gilt für Ihren browser, da der VM ist nur eine andere Maschine im LAN, stattdessen verweisen Sie Ihren browser auf localhost verweisen Sie auf die Ip-VMs, und Sie sind in Ordnung.
Offensichtlich con ist hier, wenn Sie don ' T haben keine Erfahrung mit Linux, aber Sie sollten wahrscheinlich stick auf windows, weil es wird Sie einige Zeit in Sie zu erhalten.
InformationsquelleAutor der Antwort supernova
nur meine zwei Cent, vielleicht sogar noch weniger:
Werde ich vorschlagen, eine Dritte option: Doppel-Installation windows/ubuntu-setup (vorzugsweise ubuntu dist die meisten gui-freundlich) und Forschung diese option auch auf diese Weise würden Sie werden mehr vertraut mit der linux - /unix-und sogar iOS-das wird auch Sie verstehen, windows besser und ein besserer Programmierer. Manchmal ist die virtual box ist zu langsam, während linux ist sehr effizient mit den Ressourcen.
Wenn Sie die Fähigkeit haben, die Installation einer virtuellen Maschine,können Sie auch gehen für die Installation einer linux-distribution und Holen Sie sich vertraut mit dieser Sprache/system der OS, die eine Menge von web-strukturiert nach
InformationsquelleAutor der Antwort sivi
Ich genieße wirklich Codierung node.js unter windows git bash:
http://blog.nodester.com/post/19902515151/tips-for-windows-users
Es scheint dann schneller und einfacher, dann läuft VirtualBox. Da ich immer noch mit Virtual Box für Tests vor dem Produktionsstart.
InformationsquelleAutor der Antwort Robert Peters