我正在尝试安装 node.js。我按照本教程进行操作,但我被困在了中间。
当我在我的 cygwin 终端中写入./configure
时,它显示“不支持 cygwin”。请帮助我提前谢谢。
我正在尝试安装 node.js。我按照本教程进行操作,但我被困在了中间。
当我在我的 cygwin 终端中写入./configure
时,它显示“不支持 cygwin”。请帮助我提前谢谢。
根据我的经验,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')"
对于那些只想安装 NPM 包的人来说,作为 troy 答案的一个更简单的衍生:
export PATH=$PATH:"/cygdrive/c/Program Files/nodejs/"
(显然将 Node.js 安装目录的路径替换为您安装它的位置)。mkdir -p ~/AppData/Roaming/npm
. 这是所有 Windows 的错误,而不仅仅是 Cygwin。在未来的某个时候,您将不再需要这样做,但该命令不应该有任何负面影响。npm install pretty-diff -g
。npm bin -g
您可以使用and找到这些npm bin
(-g
标志是“全局”安装位置)。为了让它在 Cygwin 中运行,你不需要做任何特别的事情(尽管我不能说一切是否正常)。
使用 Console2,它允许您运行 CLI shell 的创建选项卡。在 console2 中运行 cygwin 似乎可以让我很好地使用节点 REPL。我不知道为什么:P
按照本指南将 cygwin 添加到 console2:
http ://blog.msbbc.co.uk/2009/11/configuring-console-2-and-bash-with.html
对于 Windows,只需在 cmd 中运行 bash.exe,这样您就可以直接使用 cmd 控制台进行 bash 工作,这可以支持所有节点正常工作。
C:\Users\郷>bash
郷@CHIGIX ~
$ node
>
根据 Bjørn 的建议(使用 Console2)和 Soyuka 的别名(此处的步骤),我的 node.js v0.10.13 和 npm v1.3.2 现在可以在Cygwin 发行版 Babun v1.02下运行。
我正在使用这个包装器/usr/local/bin/node
(注意没有扩展!)
#!/bin/sh
_cmd="$(cygpath -lw -- "$1" )"
shift
"/proc/cygdrive/C/Program Files/nodejs/node.exe" "$_cmd" "$@"
这远非完美,因为 Node 不理解 Cygwin 目录树,但使用相对名称时效果相对较好。
获取并运行 node.js Windows 安装程序。
在 Cygwin 提示符下输入node
查看它是否有效。