Node.js不支持Cygwin

Mj1*_*992 43 cygwin install node.js

我正在尝试安装node.js. 我按照这个教程,我被困在中间.

当我./configure在我的cygwin终端上写道时,它说"不支持cygwin".请帮助我提前谢谢.

小智 44

根据我的经验,节点在cygwin中运行良好,Node通常有EINVAL错误似乎是MINTTY,这是一个默认为cygwin的终端仿真'皮肤'.我仍然不确定为什么这些EINVAL错误100%发生,但以下是我用来使节点工作的步骤和技巧.

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

export PATH=$PATH:"/cygdrive/c/Program Files/nodejs/"
Run Code Online (Sandbox Code Playgroud)

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

export PATH=$PATH:"/cygdrive/c/Program Files (x86)/nodejs/"
Run Code Online (Sandbox Code Playgroud)

然后使npm运行没有Windows到Linux问题我在管理模式下启动cygwin然后运行:

dos2unix '/cygdrive/c/Program Files/nodejs/npm'
Run Code Online (Sandbox Code Playgroud)

此时运行文件和大多数npm软件包都可以在MINTTY中运行,虽然每隔一段时间你就会遇到某些npm软件包作为业力的EINVAL问题.此外,您无法在MINTTY中直接运行解释器,无论何时我想执行以下操作:

cygstart /bin/bash
Run Code Online (Sandbox Code Playgroud)

这将打开一个本机cygwin bash.exe窗口,从这里运行解释器或任何导致EINVAL的令人不安的包命令.这有点糟糕,你必须这样做,但我很少使用这一天,我喜欢MINTTY太多,不能使用它.

另请注意,只需运行以下内容即可在MINTTY中运行任何一行节点代码:

node -e "console.log('hello node')"
Run Code Online (Sandbox Code Playgroud)

  • 它是.但是还有一个没有扩展名的"npm"shell脚本,当你使用"npm"命令时由Cygwin执行.实际上我没有线索,为什么那个shell脚本包含Windows行结尾. (3认同)

Kat*_*Kat 9

对于那些只想安装NPM软件包的人来说,作为troy答案的简单衍生物:

  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 -g和找到这些npm bin(-g标志是"全局"安装位置).

为了让它在Cygwin中运行,你不必做任何特别的事情(虽然我不能说一切是否正常).


Pet*_*sen 5

使用Console2,它允许您运行CLI shell的创建选项卡.似乎在console2中运行cygwin允许我使用节点REPL就好了.我不明白为什么:P

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