【问题标题】:Node.js cannot find /usr/bin/helloworld.js on windowsNode.js 在 Windows 上找不到 /usr/bin/helloworld.js
【发布时间】:2011-06-18 13:36:49
【问题描述】:

我已经在 Windows 上安装了 Node.js(这里是二进制 http://node-js.prcn.co.cc/ )并且可以在控制台中成功创建一个 HTTP 服务器。

现在我已经在 bin 目录下的 helloworld.js 脚本中放入了相同的指令,并使用 dos 提示符运行

node helloworld.js 

它在 /usr/bin 中找不到。所以我把它放在 usr/bin 的 Node.js 安装目录下,但消息相同。我终于尝试了 c:/usr/bin 但仍然失败。

那么我应该把我的脚本放在 windows 的什么地方呢?

错误截图

【问题讨论】:

  • 如果您创建一个包含node server.js.bat 文件并将node.exeserver.js 和该批处理文件都保存在同一个目录中怎么办?
  • 能否提供实际的错误信息?
  • @Dan 看到我添加到帖子的屏幕复制谢谢。
  • 你能检查一下你上面列出的任何位置是否对应于你在 cygwin 中的 /usr/bin 目录吗? (我想你是在 cygwin 中安装的)
  • 作者表示 Node.js 在 Windows 上没有得到很好的支持,现在它主要是一个 Linux/Unix 软件。 Windows 上没有 /usr/bin。

标签: javascript windows node.js


【解决方案1】:

首先,Windows 中没有 DOS 提示符。如果你努力创建一个(例如,使用 DosBox 或另一台虚拟机),node.js 不应该在 DOS 提示符下运行,因为它是 Windows 控制台应用程序,而不是 DOS 应用程序,哈哈。但是调用 Windows 命令提示符 DOS 提示符是一个常见的误称,所以我希望你的意思是 cmd.exe 提示符。

与之前的评论者所说的不同,Node.js 在 Cygwin 的完整安装下得到完全支持,并且几乎所有东西都可以使用我在 http://node-js.prcn.co.cc 提供的剥离的 Cygwin 树和 node.js Windows 二进制文件。

因此 /usr/bin 问题与 Windows 不兼容无关。您甚至不应该将您的 .js 文件放在我的树的 bin 目录中 - 任何位置(以及正常的绝对或相对 Windows 路径)都可以。

我在 bin 目录中创建了一个 example.js,在其中创建了 console.log("foo") 行,进入开始菜单 - windows 提示符,cd 到 bin 目录并执行 node helloworld.js 没有任何问题。

由于我无法重现您的问题,我有几个问题要问您:

1) node -v 工作吗?如果是,它说了什么?

2) 您是从我提供的 .7z 存档中提取整个树(例如 bin、lib 目录等)还是仅提取 node.exe?

3) 您是从开始菜单运行 shell.cmd 还是纯窗口提示符,还是通过运行 cmd.exe 运行? (三种方式都支持)

【讨论】:

  • 谢谢,我终于找到了愚蠢的原因:当我创建 helloworld.js 时,我在一台装有 Windows 7 的新电脑上,它确实创建了 helloworld.js.txt,但 .txt 被隐藏了...... :( :)
  • 老兄,感谢您写下您是如何解决问题的。估计我也这么傻。以为问题出在路径或系统变量上,但嘿,.js.txt 它是。感谢您提供解决方案,即使您发布了这是 2011 年,您也对我帮助很大:D
猜你喜欢
  • 2021-05-07
  • 2011-07-16
  • 1970-01-01
  • 1970-01-01
  • 2012-05-17
  • 2020-04-14
  • 2012-03-26
  • 2018-12-13
  • 2015-09-22
相关资源
最近更新 更多