2012-04-06 96 views
39

我试图安装node.js中我跟着this tutorial,我被困在中间。Node.js的Cygwin的不支持

当我在Cygwin的终端写./configure它说:“不支持的cygwin”。请帮助我 在此先感谢。

+2

而不是继续这里将是理想的,[不幸的是这种问答得到了有效又问1.5年后来在stackoverflow.com/questions/17297422/trouble-with-starting-node-js-from-a-cygwin -console](http://stackoverflow.com/questions/17297422/trouble-with-starting-node-js-from-a-cygwin-console#comment-36204702);正如那个评论所解释的那样,thre是一些有用的东西,但对于新东西,请把它放在第一个问题上。 – 2014-05-11 04:08:01

回答

37

节点在我的经验,运行在Cygwin的罚款,什么节点通常有EINVAL错误中似乎MINTTY这是一个终端仿真“皮肤”,默认为cygwin。我仍然不确定为什么这些EINVAL错误发生100%,但以下是我用来获取节点工作的步骤和技巧。

在我/cygwin/home/{username}/.bashrc我添加节点路径,这样的cygwin可以找到它

export PATH=$PATH:"/cygdrive/c/Program Files/nodejs/" 

如果您运行节点的32位版本:

export PATH=$PATH:"/cygdrive/c/Program Files (x86)/nodejs/" 

然后使NPM运行没有窗户到Linux的问题我在管理模式下启动的cygwin然后运行:

dos2unix '/cygdrive/c/Program Files/nodejs/npm' 

在这一点上运行文件s,最NPM包将在MINTTY就好了运行,但每过一段时间和你会遇到一定的NPM包因缘EINVAL问题。此外,你将不能够直接在MINTTY运行解释,只要我想要做的这些事情我跑:

cygstart /bin/bash 

这将打开一个原生的cygwin bash.exe窗口,从这里你运行解释或任何导致EINVAL的麻烦包命令。它有点勉强你必须这样做,但我很少使用这一天,我喜欢敏迪太多,不使用它。

另外请注意,您可以通过只运行这样运行MINTTY任何一行代码节点:

node -e "console.log('hello node')" 
+1

我应该可能已经注意到,dos2unix将需要从cygwin安装过程或通过cygwin通过安装的apt-CYG。并且需要使用Windows安装程序正常安装Node。 – troy 2014-04-19 13:31:27

+0

是不是npm一个cmd文件?为什么在cmd文件上使用dos2unix? – CMCDragonkai 2014-05-18 07:33:38

+3

是的。但是也有没有扩展名的“npm”shell脚本,当你使用“npm”命令时,它由Cygwin执行。其实我没有线索,为什么这个shell脚本包含Windows行结尾。 – 2014-05-27 14:33:58

-1

抓住并运行Windows安装程序。
在Cygwin的提示符下键入node
看看它是否工作。

+0

我已经下载它,从cygwin终端提取它,但同样的问题发生。安装程序将文件安装在其他地方,所以我做了一切从cygwin终端和cygwin nodejs文件安装在家里/戴尔/ nodejs /文件夹我在哪里编写./configure命令,但仍然是相同的结果 – Mj1992 2012-04-06 15:44:46

+0

男人,如果你确实想坚持cygwin ....不要从cygwin中运行安装程序。从Windows执行它。当启动cygwin时,确保节点位于路径中(C:\ Program Files \ nodejs)。 – mihai 2012-04-06 20:19:20

+1

这对我在多台机器上工作得很好。只需安装Cygwin,然后使用其本机Windows安装程序安装Node。当你输入'which node'或'which npm'时,它将解析Node的安装位置(也许这样可以工作,因为Node会看到Cygwin并将其路径添加到Cygwin的$ PATH中)。 – thure 2013-05-01 17:49:45

5

使用Console2,它允许你运行创造CLI壳的标签。看来在console2中运行cygwin允许我使用节点REPL就好了。我不知道为什么:P

按照本指南添加Cygwin来console2:
http://blog.msbbc.co.uk/2009/11/configuring-console-2-and-bash-with.html

+0

我刚刚注意到[Google搜索(Node-js cygwin)](https://www.google.com/search?q=Node-js + cygwin)find 5 http://nlighteneddevelopment.com/content/nodejs-cygwin也有这个(使用Console2)作为他们的修复 – 2014-05-10 09:02:39

-1

从Windows,运行Cygwin.bat(而不是Cygwin的终端),然后在运行节点:看并在this回答this回答于1.5年后问的有效问题。

+1

此链接可能会回答这个问题,但代码的基础知识应该包含在这里,链接应作为参考。 – worldofjr 2015-01-18 22:41:34

8

特洛伊的回答对于那些只是希望安装NPM包一个简单的衍生:

  1. 与Windows安装程序包安装Node.js
  2. 将其添加到PATH export PATH=$PATH:"/cygdrive/c/Program Files/nodejs/"(显然将Node.js的安装目录替换为安装目录的路径)。
  3. 在Windows版本中有一个当前的错误,可以通过运行mkdir -p ~/AppData/Roaming/npm来解决。这是所有Windows的错误,而不仅仅是Cygwin。在将来的某个时候,你不必再这样做,但是命令不应该有任何负面影响。
  4. 测试它。例如,npm install pretty-diff -g
  5. 为了能够运行新安装的软件,您需要将安装位置添加到PATH。您可以通过npm bin -gnpm bin-g标志是“全局”安装位置)找到这些标志。

没有什么特别的,你必须做的才能让它在Cygwin上运行(尽管我不能说一切正常)。

+0

+1简化有关刚公共管理的事情(我现在需要的)。作为更新,最新的安装程序将PATH设置为Node的exe和全局模块区域,因此,只需要打开,就可以重新启动shell。现在可以跳过步骤2,3和5。本地npm安装(不带'-g')通过Cygwin shell写入当前目录中的'node_modules',因此用户应该能够自己计算出它们。我不需要PATHify他们'require()'工作。 – juanitogan 2016-02-14 02:13:29

0

随着比约恩的建议(using Console2)和Soyuka的别名(steps here),我的Node.js v0.10.13和NPM V1.3.2现在正在Babun V1.02,Cygwin的分配工作。 enter image description here

+0

非常好听!事实上,我很快就会尝试一下,真的希望它能起作用。但是,为什么你使用的Node.js版本显然已经过了1.3年? - 给你“2014年12月15日在17:07回答”所以当节点“2014.10.20版本0.10.33(稳定)”是最新的,但你使用“node.js v0.10.13”,因此从(日期)“ 2013.07.09版本0.10.13(稳定版)“,引用官方的http://nodejs.org/changelog.html。 - 对于所有软件(看起来只是Babun,Node,&npm,对吗? ),你使用当前的稳定版本吗? - 这将是通常和一般需要的事情。 – 2015-02-01 15:04:08

0

对于Windows,只需在cmd中运行bash.exe,以便您可以直接使用cmd控制台运行bash,这可以支持所有节点完美工作。

C:\Users\郷>bash 

郷@CHIGIX ~ 
$ node 
> 
+0

OP已经在使用cygwin终端。如何从cmd.exe开始bash回答这个问题? – 2015-02-22 17:39:54

+0

Cygwin的仿真只是把许多exe程序文件放到cygwin安装目录中,它们与linux常用命令/可执行二进制文件具有相同的名称。所以,当然你可以从cmd.exe得到bash命令环境,通常在'C:\ cygwin64 \ bin \ bash.exe'。 – 2015-02-23 09:43:41

+0

使用cygwin终端时,我遇到了一个奇怪的行为没有npm进度输出或进度条,但这个解决方案帮助了我。确保将cygwin64/bin添加到PATH中,否则此解决方案将不会有帮助 – 2015-11-13 08:44:48