Windows上的node.js。 何时,为什么?

注意:有一个类似的问题叫'在windows机器上安装nodejs'。 和解释如何通过安装cygwin你可以在那里工作的各种答案。

现在,我不想安装cygwin。 我只是希望我可以在一个窗口框上运行nodejs。

我想要一个“nodejs.exe”启动。

有人可以向我解释

1)为什么nodejs没有被移植到windows上 – 没有提供exe的技术原因是什么?

2)有没有计划在windows上有nodejs?

我真的想用它,但我不能接受我必须接受cygwin。 这是不对的。

更新:

为了在windows开发上find最佳的节点,我build议你使用Windows Azure的powershell作为node.js。 这是一个使用node,npm和azure API优化的powershell。 (天青apis是可选的,如果我不使用azure,我仍然会使用这个powershell)。

何时 :v0.6

目前你可以得到一个二进制文件,(种)在Windows下工作。 在node.js IRC频道上去问一下。 他们会挂钩你。

基本上,如果你阅读了node.js的道路规划,你会发现,正确的Windows支持计划为0.6,我们目前在v0.4.7和v0.5.xtesting版正在全面风暴。

我不会给ETA但很快

IRC可以在社区链接find

显示v0.6路线图的 PDF

2011年7月更新:

#nodejs v0.5.1是第一个发布正式的Windows可执行文件。 我们希望得到一些好的反馈。

微软已经正式参与了使node.js在Windows上本地运行的喜悦。

Windows下运行节点存在几个技术问题,主要与Windows的内部devise与Linux的不同有关,以及将Unix应用程序移植到Windows所需的“改变心态”。

背景

Linux被devise为Unix的一个着名的多任务操作系统的替代品,所以从一开始它就是一个多用户/多进程,面向服务器的操作系统。 多进程共享系统资源的思想是其内部devise的关键。

Windows最初devise为单用户/单进程桌面操作系统,因此不支持对系统资源的共享访问。 在1993年,微软发布了一个新的重新devise的Windows版本 – 称为Windows / NT–以更好地支持服务器所需的共享资源,多任务处理模式,但是由于其现有的用户安装基础,微软要求NT还支持所有function的单用户/单一任务的前辈。

Windows 7是NT的直接后代,而微软需要继续支持传统用户(在许多人看来,Windows已经严重混乱了内部devise)。

此外,微软还聘请了一位名叫Dave Cutler的系统架构师来deviseNT。 Dave最着名的是devise一个名为VMS的Unix竞争对手,它的内部devise与Linux有很大的不同,这给开发者感兴趣将他们的Unix程序移植到Windows上带来了很多问题。

Windows和Linux内部devise之间的这种“阻抗不匹配”最明显的例子是,它们如何处理事件驱动的无阻塞input/输出(io),Node依赖于在单线程中执行其(明显的)多任务魔术的操作。

Linux支持两个称为select()和epoll()的系统级函数,它可以用来asynchronous地通知操作系统中影响它的更改。 节点严重依赖于这些function,但Windows不支持,而是依靠“更改通知”(主要是)来处理事件驱动的io。