45

我正在尝试安装 node.js。我按照本教程进行操作,但我被困在了中间。

当我在我的 cygwin 终端中写入./configure时,它显示“不支持 cygwin”。请帮助我提前谢谢。

4

8 回答 8

45

根据我的经验,Node 在 cygwin 中运行良好,Node 通常出现 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 在没有 windows 到 linux 问题的情况下运行,我在管理员模式下启动 cygwin,然后运行:

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

此时运行文件和大多数 npm 包将在 MINTTY 中运行得很好,尽管每隔一段时间你会遇到某些 npm 包作为业力的 EINVAL 问题。此外,您将无法直接在 MINTTY 中运行解释器,只要我想执行以下操作:

cygstart /bin/bash

这将打开一个本地 cygwin bash.exe 窗口,从这里运行解释器或任何导致 EINVAL 的麻烦包命令。你必须这样做有点糟糕,但我很少每天使用它,而且我太喜欢 MINTTY 以至于不使用它。

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

node -e "console.log('hello node')"
于 2014-04-19T13:28:15.960 回答
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您可以使用and找到这些npm bin-g标志是“全局”安装位置)。

为了让它在 Cygwin 中运行,你不需要做任何特别的事情(尽管我不能说一切是否正常)。

于 2014-12-14T21:47:02.823 回答
5

使用 Console2,它允许您运行 CLI shell 的创建选项卡。在 console2 中运行 cygwin 似乎可以让我很好地使用节点 REPL。我不知道为什么:P

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

于 2013-07-02T03:17:03.687 回答
0

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

C:\Users\郷>bash

郷@CHIGIX ~
$ node
>
于 2015-02-22T17:16:02.190 回答
0

根据 Bjørn 的建议(使用 Console2)和 Soyuka 的别名(此处的步骤),我的 node.js v0.10.13 和 npm v1.3.2 现在可以在Cygwin 发行版 Babun v1.02下运行。在此处输入图像描述

于 2014-12-15T17:07:56.850 回答
0

我正在使用这个包装器/usr/local/bin/node(注意没有扩展!)

#!/bin/sh

_cmd="$(cygpath -lw -- "$1" )"
shift

"/proc/cygdrive/C/Program Files/nodejs/node.exe" "$_cmd" "$@"

这远非完美,因为 Node 不理解 Cygwin 目录树,但使用相对名称时效果相对较好。

于 2020-03-02T13:38:55.843 回答
-1

在 Windows 中,运行 Cygwin.bat(而不是 Cygwin 终端),然后在该运行节点中:查看并回复1.5 年后提出的这个有效相同问题的答案。

于 2014-05-11T03:59:47.440 回答
-3

获取并运行 node.js Windows 安装程序。
在 Cygwin 提示符下输入node
查看它是否有效。

于 2012-04-06T14:27:38.053 回答